Rtnl2GetPhysicalTxQueueTimestamp

Rtnl2GetPhysicalTxQueueTimestamp gets the value of the last Egress Timestamp for the Physical Transmit Queue.

Syntax

Copy
BOOL Rtnl2GetPhysicalTxQueueTimestamp(
  [in]    RTNL2_HPHYSICAL_TX_QUEUE PhysicalTxQueue, 
  [out]   RTNL2_TIMESTAMP *pTimestamp 
);

Parameters

[in] PhysicalTxQueue

A handle to the Physical Transmit Queue returned by the Rtnl2CreatePhysicalTxQueueEvent function.

[out] Timestamp

The value of the Egress Timestamp

Return Value

If the function succeeds, it returns TRUE. If the function fails, it returns FALSE. Call GetLastError to obtain an error code.

Possible error codes:

Error code Meaning

ERROR_DEVICE_FEATURE_NOT_SUPPORTED

Hardware timestamping is not supported by the hardware.

ERROR_INVALID_DATA

No new Egress Timestamp information is available since the last call to this function.

ERROR_IO_DEVICE

The last requested timestamping operation was aborted due to a hardware issue.

ERROR_INVALID_PARAMETER

One of the following conditions occurred:

  • The supplied Physical Transmit Queue handle is not valid.
  • Parameter pTimestamp is NULL.

ERROR_NOT_READY

The calling process has not called Rtnl2Init.

RTNL2_ERROR_NO_MORE_COMMUNICATION

Unable to communicate with the NL2 process. This might be because the NL2 process is not running anymore, or because an application process thread was terminated during a previous call to an NL2 API function.

RTNL2_ERROR_TIMESTAMPING_NOT_CONFIGURED

Timestamping has not been enabled globally for the NIC or specifically for the Physical Transmit Queue on which this Logical Transmit Queue sits.

RTNL2_ERROR_PHYSICAL_TX_QUEUE_CONCURRENT_ACCESS_NOT_ALLOWED

The Physical Transmit Queue has been acquired with the RTNL2_PHYSICAL_TX_QUEUE_FLAG_NO_SERIALIZE flag and another thread of the calling process is executing Rtnl2SubmitToPhysicalTxQueue or Rtnl2ExtractFromPhysicalTxQueueTimestamp at the same time.

RTNL2_ERROR_PHYSICAL_TX_QUEUE_IS_RELEASING

Another thread of the calling process is executing Rtnl2ReleasePhysicalTxQueue at the same time.

Remarks

Calls to this function will result in the following:

Characteristics

Real-time

Deterministic

Yes if the Physical Transmit Queue was acquired with the RTNL2_PHYSICAL_TX_QUEUE_FLAG_NO_SERIALIZE flag. No otherwise.

Local memory usage

Process

External MSpace usage

Internal MSpace usage

System

No No

NL2 process

No No

Calling process

No

No
Contiguous memory usage

Usage

No

Requirements

Minimum supported version Header Library

eRTOS 1.0 SDK

Rtnl2Api.h

Rtnl2Api.lib

See Also: