RTFW_NETWORK_INTERFACE Structure
RTFW_NETWORK_INTERFACE represents the configuration parameters of an RTX64 network interface.
Syntax
typedef struct _RTFW_NETWORK_INTERFACE( size_t Size; TCHAR FriendlyName[RTFW_MAX_INTERFACE_NAME_CHARS]; bool Enabled; TCHAR Driver[MAX_PATH]; TCHAR DeviceInstanceID[RTFW_MAX_INTERFACE_INSTANCEID_CHARS]; TCHAR PCIBusLocation[RTFW_MAX_INTERFACE_PCIBUSLOCATION_CHARS]; size_t CountIPv4Configurations; RTFW_IPV4_CONFIGURATION IPv4Configurations[RTFW_MAX_IPS_PER_INTERFACE]; TCHAR Gateway[RTFW_IPV4ADDRESS_LENGTH]; TCHAR IPv6Address[RTFW_MAX_INTERFACE_IPV6ADDRESS_CHARS]; unsigned int IPv6Prefix; unsigned int ReceivePriority; DWORD ReceiveIdealProcessor; unsigned int MTU; unsigned int NumberReceiveBuffers; unsigned int NumberTransmitBuffers; RTFW_INTERRUPT_TYPE InterruptType; unsigned int InterruptPriority; DWORD InterruptIdealProcessor; bool LinkStatus; unsigned int LinkStatusPriority; DWORD LinkStatusIdealProcessor; bool FilterDriverEnabled; TCHAR FilterDriver[MAX_PATH]; } RTFW_NETWORK_INTERFACE, * PRTFW_NETWORK_INTERFACE;
Members
Size
The size of this structure (in bytes). Client code must set this member to sizeof(RTFW_NETWORK_INTERFACE) before passing this structure to any function. This is used to identify the version of this structure if it is extended.
FriendlyName
The friendly name of this interface. The maximum length of this string is 13 characters (not including the terminating null character). This member may contain only these characters: 'a' to 'z', 'A' to 'Z', '0' to '9', '_', and '-'.
Enabled
If true, the network interface is enabled. If false, the network interface is not enabled.
Driver
The absolute pathname or the simple file name of the real-time device driver (RTDLL) for this interface. This must not be a relative pathname containing '\' characters. If this is an absolute pathname, the specified RTDLL file must exist. If this is a simple file name, the RTX64 Subsystem searches for the RTDLL file when the RT-TCP/IP Stack initializes this network interface. Use API RtfwSetSearchPath or the RTX64 Control Panel to configure the Search Path used by the Subsystem.
DeviceInstanceID
The Instance ID of the RTX64-owned NIC for this interface. This NIC must be owned by RTX64, otherwise APIs that take this structure as input will fail with error ERROR_INVALID_PARAMETER.
PCIBusLocation
The PCI bus location of the RTX64-owned NIC for this interface in the form "bus;device;function", where bus, device, and function are each non-negative integers. If there is only one network interface configured to use the NIC driver specified in member Driver, this member can be set to "0;0;0" instead of the actual PCI bus location of the NIC. If multiple network interfaces are configured to use the same NIC driver, all of them must have the correct PCI bus location specified in this member. This NIC must be owned by RTX64, otherwise APIs that take this structure as input will fail with error ERROR_INVALID_PARAMETER.
See RtfwGetRTX64Devices, which will give you the PCI bus location for a converted NIC. This information is also available graphically from the Windows Device Manager.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
CountIPv4Addresses
The number of valid RTFW_IPV4_CONFIGURATIONS in array member IPv4AddressNetmaskPairs. The minimum value for this member is 1. The maximum value for this member is RTFW_MAX_IPS_PER_INTERFACE.
IPv4Configurations
An array of RTFW_IPV4_CONFIGURATION structures representing IPv4 addresses and netmasks assigned to this interface. If the interface has no IPv4 addresses, set element 0 of this array to specify IPv4 address 0.0.0.0 and netmask 0.0.0.0, and also set member CountIPv4Configurations to 1.
Gateway
The IPv4 gateway address for this interface in dotted-quad notation. This member cannot be the empty string. Use "0.0.0.0" to indicate the absence of a gateway.
IPv6Address
The IPv6 address of this interface. This value must either be a valid IPv6 address or the word "auto", which means the interface will automatically configure the IPv6 address.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
IPv6Prefix
The network prefix length of the IPv6 address. This value must be between 4 and 128, inclusive.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
ReceivePriority
The real-time priority of the receive thread for this interface. Valid values are in the range 0 to 127 (inclusive).
ReceiveIdealProcessor
The ideal processor number for the real-time receive thread for this interface.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
MTU
The Maximum Transmission Unit (MTU) size of this interface. Valid values are in the range 1500 to 9000 (inclusive).
NumberReceiveBuffers
The number of receive buffers allocated for this interface. The minimum value for this member is 64. The maximum value for this member is hardware-dependent.
NumberTransmitBuffers
The number of transmit buffers allocated for this interface. The minimum value for this member is 64. The maximum value for this member is hardware-dependent.
InterruptType
The type of interrupt used by the NIC for this interface. See RTFW_INTERRUPT_TYPE for more information.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
InterruptPriority
The interrupt priority of this interface. For the IGB, I10GB, and IPCH Network Interface Cards (NICs), this value must be between 1 and 127, inclusive. For other NICs, this value must be between 0 and 127, inclusive.
InterruptIdealProcessor
The ideal processor number for the IST thread for this interface. This value must be either RTFW_FIRST_RTSS_PROCESSOR or the processor number of one of the configured RTSS processors.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
LinkStatus
If true, the NIC driver will monitor and report link status (if it is capable). If false, it will not monitor for status changes.
NOTE: This property must be false if the interface belongs to the Virtual Network.
LinkStatusPriority
The priority of the real-time thread that monitors the link status of this interface. Valid values are in the range 0 to 127 (inclusive).
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
LinkStatusIdealProcessor
The processor number of the ideal processor for the real-time thread that monitors the link status of this interface. This value must be either RTFW_FIRST_RTSS_PROCESSOR or the processor number of one of the configured RTSS processors.
NOTE: This property should not be modified if the interface belongs to the Virtual Network.
FilterDriverEnabled
If true, the filter driver is enabled for this interface. If false, it is not enabled.
FilterDriver
The absolute pathname or simple filename of the real-time filter driver RTDLL for this interface. If a simple file name is given, it is searched for using the Subsystem Search Path. This must not be a relative pathname containing '\' characters. If this is an absolute pathname, the specified RTDLL file must exist. If a simple file name is given, the Subsystem searches for the RTDLL file when the RT-TCP/IP Stack enables this filter driver. If this member is a non-empty string, it must specify an RTDLL file. If this member is the empty string, the filter driver is removed from this interface.
Requirements
Minimum Required Version | RTX64 3.4 |
Header | RtfwAPI.h |
Library | RtfwAPI.lib |
See Also: