Rtnl2GetPhysicalTxQueueTimestamp
Rtnl2GetPhysicalTxQueueTimestamp gets the value of the last Egress Timestamp for the Physical Transmit Queue.
Syntax
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:
|
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:
- The Egress Timestamp will be invalidated. Consecutive calls to this function will return ERROR_INVALID_DATA.
- The Egress Timestamp register becomes unblocked and able to receive a new Egress Timestamp.
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: