RtNalSetReceiveTimeStampType

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

Syntax

BOOL RtNalSetReceiveTimeStampType(
	RTNAL_QUEUE_HANDLE queueHandle,
	RTNAL_PTP_MESSAGE_TYPE timeStampType
);

Parameters

queueHandle

The receive queue handle returned by RtNalAcquireQueue.

timeStampType

A RTNAL_PTP_MESSAGE_TYPE value indicating the type of PTP message to time-stamp.

Return Value

Returns TRUE if the function succeeds. Otherwise it returns FALSE. Call GetLastError to obtain an error code. The possible error codes are listed below:

Error Code Meaning
ERROR_DEVICE_FEATURE_NOT_SUPPORTED The NIC driver does not support receive timestamps.
ERROR_INVALID_HANDLE The argument queueHandle is invalid
ERROR_INVALID_PARAMETER queueHandle is a NULL pointer or timeStampType contains an invalid value.
ERROR_NOT_READY

RtNalInit has not completed successfully.

Remarks

For a list of supported functions for specific drivers, see Matrix of Supported Real-Time NAL Functions by NIC Driver.

When time-stamping is enabled and a packet is received the NIC will investigate its PTP payload. A packet will be timestamped (i.e. current NIC system time will be stored in timestamp registers) if PTP version and message type match those requested by the API.

Before calling this API, the user must call RtNalSetReceiveFilterEntryEthertype to specify what Ethernet type packets are to be time-stamped. Because RtNalSetReceiveFilterEntryEthertype enables all packet time-stamping, it must be called first. The parameter timeStampType is an ENUM parameter that specifies both PTP version and message time.

The RtNalE1000 driver does not support receive timestamps.

Requirements

Minimum Supported Version RTX64 4.0
Header rtnapi.h, RtNalApi.h
Library RtNal.lib

See Also: