RtnFrameTransmit

RtnFrameTransmit can be called when a filter or RTSS application wants to transmit a frame pointed to by the parameter EthernetFrame. The frame must be in a format required by the standard Ethernet format.

The source physical address must match the physical address of one of the enabled RTX64 interfaces. It is used to select an interface from which to transmit a frame.

Syntax

BOOL RtnFrameTransmit(
   PVOID *pEthernetFrame,
   ULONG ulDataSize,
   UINT uLayer
);

Parameters

pEthernetFrame

Pointer to an Ethernet frame header.

ulDataSize

Size of the Ethernet payload data.

uLayer

Not supported.

Return Value

A return value of FALSE indicates the frame is being dropped, TRUE indicates the frame is being transmitted. An error code can be retrieved by WSAGetLastError. The possible error codes are:

Error Code Meaning
WSAENETDOWN The stack has not started or has not yet initialized the specified interface.
WSAEMSGSIZE ulDataSize is < 46 or too large for the device MTU.
WSAEFAULT pEthernetFrame is a NULL pointer.
ERROR_DEV_NOT_EXIST The specified interface does not exist or has not initialized.
ERROR_IO_DEVICE The Ethernet link is down.
ERROR_DEVICE_NO_RESOURCES A DMA buffer is not available.

Requirements

Minimum Supported Version RTX64 4.0
Header rtnapi.h
Library RtTcpip.lib

See Also:

RtnFrameAllocate

RtnFrameFree

RtnFrameTransmitInterface