-
Notifications
You must be signed in to change notification settings - Fork 52
NI XNET Socket Options
- nxSO_RXDATA
- nxSO_RCVBUF
- nxSO_REUSEADDR
- nxSO_SNDBUF
- nxSO_NONBLOCK
- nxSO_BINDTODEVICE
- nxSO_ERROR
- nxSO_LINGER
- nxIP_ADD_MEMBERSHIP
- nxIP_DROP_MEMBERSHIP
- nxIP_MULTICAST_IF
- nxIP_MULTICAST_TTL
- nxIPV6_ADD_MEMBERSHIP
- nxIPV6_JOIN_GROUP
- nxIPV6_LEAVE_GROUP
- nxIPV6_MULTICAST_HOPS
- nxIPV6_MULTICAST_IF
- nxTCP_NODELAY
Returns the number of characters currently available for reading from the socket.
The nxSO_RXDATA option returns the number of characters queued in the socket's receive buffer.
Returns the buffer size allocated for input buffers.
The nxSO_RCVBUF option sets or gets the maximum socket receive buffer in bytes.
Indicates and controls address reuse on a socket address.
The nxSO_REUSEADDR option gets or sets a Boolean value that indicates whether a local address can be reused. When enabled, this option allows multiple proxy servers to use the same address/port combinations for listening and for forwarding source addresses.
Indicates and controls the buffer size allocated for output buffers.
The nxSO_SNDBUF option sets or gets the maximum socket send buffer in bytes. The socket send buffer is an output buffer used by the networking implementation; it may need to be increased for high-volume connections.
Indicates and controls whether the socket is set to be nonblocking.
The nxSO_NONBLOCK option sets or gets whether the socket is operating in blocking (0) or nonblocking (1) mode. A value of 1 is returned if the socket is currently set to nonblocking mode.
Binds the socket to a virtual interface.
The nxSO_BINDTODEVICE option binds the socket to a specific virtual interface, specified by virtual interface name. If the name is an empty string or the option length is zero, the socket binding is removed. If a socket is bound to a virtual interface, the socket processes only packets received from that particular virtual interface.
This option is supported for both nxgetsockopt and nxsetsockopt.
Reports information about the error status and clears it.
The nxSO_ERROR option gets and clears the pending socket error. This option is read-only. nxSO_ERROR stores an integer value.
Indicates or controls the linger option of a TCP socket.
The nxSO_LINGER option stores the linger structure, which is used to set or get the nxSO_LINGER option:
struct nxlinger {
int l_onoff; /* linger active */
int l_linger; /* how many seconds to linger for */
};
If nxSO_LINGER is enabled, the system blocks during nxclose or nxshutdown until the socket can transmit the data or until the end of the interval indicated by the l_linger member, whichever comes first. If nxSO_LINGER is not specified, and nxclose or nxshutdown is issued, the IP stack will handle closing the socket in the background.
Add a group member to a multicast group.
The nxIP_ADD_MEMBERSHIP option adds membership to a single multicast group. Each membership is associated with a single interface. nxIP_ADD_MEMBERSHIP is valid only for nxsetsockopt.
A parameter of type struct nxip_mreq is used to set this value. This structure is defined in nxsocket.h as follows:
struct nxip_mreq {
struct nxin_addr imr_multiaddr; /* IPv4 multicast address of group */
struct nxin_addr imr_interface; /* local IP address of interface */
};
Use imr_multiaddr to specify the multicast group to join or leave.
Use imr_interface to specify the local IP address that is associated with the interface to which this request applies.
Remove a group member from a multicast group.
The nxIP_DROP_MEMBERSHIP option removes membership from a single multicast group. Each membership is associated with a single interface. nxIP_DROP_MEMBERSHIP is valid only for nxsetsockopt.
A parameter of type struct nxip_mreq is used to set this value. This structure is defined in nxsocket.h as follows:
struct nxip_mreq {
struct nxin_addr imr_multiaddr; /* IPv4 multicast address of group */
struct nxin_addr imr_interface; /* local IP address of interface */
};
Use imr_multiaddr to specify the multicast group to join or leave.
Use imr_interface to specify the local IP address that is associated with the interface to which this request applies.
Sets or gets the IP interface over which outgoing multicast datagrams should be sent.
In order to send to a multicasting group it is not necessary to join the groups. But to receive transmissions sent to a multicasting group, membership is required. For multicast sending, use an IP_MULTICAST_IF flag with nxsetsockopt. This specifies the interface to be used.
Sets or reads the time-to-live (TTL) value of outgoing multicast packets for this socket.
The nxIP_MULTICAST_TTL option enables the socket to limit the TTL value for outgoing multicast packets. The argument is an integer. It is important for multicast packets to set the smallest TTL possible. The default is 1, which means that multicast packets do not leave the local network unless the user program explicitly requests it.
Add a group member to a multicast group.
The nxIPV6_ADD_MEMBERSHIP option adds membership to a single multicast group. Each membership is associated with a single interface. nxIPV6_ADD_MEMBERSHIP is valid only for nxsetsockopt.
A parameter of type struct nxipv6_mreq is used to set this value. This structure is defined in nxsocket.h as follows:
struct nxipv6_mreq {
struct nxin6_addr ipv6mr_multiaddr; /* IPv6 multicast address */
int32_t ipv6mr_interface; /* interface index, or 0 to use first available */
};
Use ipv6mr_multiaddr to specify the multicast group to join or leave.
Use ipv6mr_interface to specify the local IP address that is associated with the interface to which this request applies.
Add a group member to a multicast group.
nxIPV6_JOIN_GROUP is an alias for nxIPV6_ADD_MEMBERSHIP.
Remove a group member from a multicast group.
nxIPV6_LEAVE_GROUP is an alias for nxIPV6_DROP_MEMBERSHIP.
Sets the multicast hop limit for the socket.
The nxIPV6_MULTICAST_HOPS option limits the time-to-live (TTL) value associated with multicast traffic on the socket. The argument is a pointer to an integer. A value of -1 indicates to use the route default; otherwise, the integer must be between 0 and 255.
Sets or gets the IP interface over which outgoing multicast datagrams should be sent.
In order to send to a multicasting group it is not necessary to join the groups. But to receive transmissions sent to a multicasting group, membership is required. For multicast sending, use an IP_MULTICAST_IF flag with nxsetsockopt. This specifies the interface to be used.
Specifies whether to disable (1) or enable (0) the Nagle algorithm.
The Nagle algorithm is disabled when this property is 1. The Nagle algorithm improves network performance by buffering written data until a full-size packet can be sent. This property is 0 by default.
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions