Real-Time NAL API Functions

This section summarizes the Real Time API (RtNal) function set supported by the RTX64 Network Abstraction Layer (NAL). To support these functions, an application must include the rtnapi.h and RtNalApi.h header files and link in the library RtNal.lib.

Function Description

RtNalAcquireQueue

Reserves a queue for the application.

RtNalAllocateFrame

Allocates memory for a NAL frame.

RtNalClearReceiveFilterEntryEthertype

Clears a receive Ethernet type filter with the specified index in the NIC driver.

RtNalConfigureQueue

Configures a queue reserved by RtNalAcquireQueue to be able send or receive data.

RtNalDisableReceivePolling

Stops receive polling and deletes a polling timer created by RtNalEnableReceivePolling.

RtNalEnableReceivePolling

Enables polling to receive Ethernet frames at a specified interval. The polling timer thread runs in the calling application’s context.

RtNalEnumInterfaceInfo

Retrieves information on Network Abstraction Layer (NAL) interfaces.

RtNalFreeFrame

Frees memory allocated by RtNalAllocateFrame.

RtNalGetDeviceSystemTimer

Returns the value of the NIC system timer-up counter registers converted to time.

RtNalGetInfo

Retrieves the current NAL settings.

RtNalGetNumberOfQueues

Returns the number of queues configured by the NAL for all interfaces.

RtNalGetQueueInfoByHandle

Provides information about a specific queue configured by the NAL.

RtNalGetQueueByIndex

Provides information about a specific queue configured by the NAL.

RtNalGetReceiveFilterEntryEthertype

Retrieves a receive Ethernet type filter with the specified index from the NIC driver.

RtNalGetReceiveTimeStamp

Returns the timestamp of the last received packet.

RtNalGetReceivePacketCount

Retrieves the number of packets in a NIC queue since last call.

RtNalGetTransmitTimeStamp

Returns the timestamp for the last transmit packet.

RtNalInit

Initializes the NAL for use by an application.

RtNalIoctl

Called when an application requires that a driver configure certain NIC modes or characteristics.

RTNalIsApplicationFrame

Queries whether the NAL frame is owned by the application.

RtNalReceive

Receives an Ethernet packet and copies packet data to the application data area.

RtNalReceiveWithCallback

Allows an application to receive an Ethernet packet in a callback called directly by driver.

RtNalReleaseQueue

Releases ownership of a queue back to the NAL so that it is available for other callers.

RtNalRequest

Forwards a request to the underlying device driver to query the requested capabilities and/or statistics of the RTX64-converted NIC card.

RtNalSetInterruptModeration

Sets the interrupt moderation (throttling) interval.

RtNalSetReceiveFilterEntryEthertype

Sets a receive filter to the NIC driver to allow the network queue to receive Ethernet frames of the specified Ethernet type.

RtNalSetReceiveTimeStampType

Sets the type of PTP message to be time-stamped on a packet receive.

RtNalSetTransmitTimeStampType

Enables the timestamp for the last transmit packet.

RtNalTransmit

Transmits an Ethernet packet.

RtNalTransmitEx

Transmits an array of NAL frames.