INTERFACE_HARDWARE_TIMESTAMP_CAPABILITIES structure (iphlpapi.h)

Describes the timestamping capabilities of a network interface card's (NIC's) hardware.

For more info, and code examples, see Packet timestamping.

Syntax

typedef struct _INTERFACE_HARDWARE_TIMESTAMP_CAPABILITIES {
  BOOLEAN PtpV2OverUdpIPv4EventMessageReceive;
  BOOLEAN PtpV2OverUdpIPv4AllMessageReceive;
  BOOLEAN PtpV2OverUdpIPv4EventMessageTransmit;
  BOOLEAN PtpV2OverUdpIPv4AllMessageTransmit;
  BOOLEAN PtpV2OverUdpIPv6EventMessageReceive;
  BOOLEAN PtpV2OverUdpIPv6AllMessageReceive;
  BOOLEAN PtpV2OverUdpIPv6EventMessageTransmit;
  BOOLEAN PtpV2OverUdpIPv6AllMessageTransmit;
  BOOLEAN AllReceive;
  BOOLEAN AllTransmit;
  BOOLEAN TaggedTransmit;
} INTERFACE_HARDWARE_TIMESTAMP_CAPABILITIES, *PINTERFACE_HARDWARE_TIMESTAMP_CAPABILITIES;

Members

PtpV2OverUdpIPv4EventMessageReceive

Type: BOOLEAN

TRUE indicates that, during packet reception, the NIC can recognize in hardware a PTP version 2 event message contained in an IPv4 UDP packet, and can generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates that the hardware is not capable of this.

PtpV2OverUdpIPv4AllMessageReceive

Type: BOOLEAN

TRUE indicates that, during packet reception, the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv4 UDP packet, and can generate a timestamp in hardware corresponding to when such a packet was received. A value of FALSE indicates that the hardware is not capable of this.

PtpV2OverUdpIPv4EventMessageTransmit

Type: BOOLEAN

TRUE indicates that, during packet transmission, the NIC can recognize in hardware a PTP version 2 event message contained in an IPv4 UDP packet, and can generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates that the hardware is not capable of this.

PtpV2OverUdpIPv4AllMessageTransmit

Type: BOOLEAN

TRUE indicates that, during packet transmission, the NIC can recognize in hardware any PTP version 2 message (not just PTP event messages) contained in an IPv4 UDP packet, and can generate a timestamp in hardware corresponding to when such a packet was transmitted. A value of FALSE indicates that the hardware is not capable of this.

PtpV2OverUdpIPv6EventMessageReceive

Type: BOOLEAN

The same as PtpV2OverUdpIPv4EventMsgReceiveHw, except that it applies to IPv6.

PtpV2OverUdpIPv6AllMessageReceive

Type: BOOLEAN

The same as PtpV2OverUdpIPv4AllMsgReceiveHw, except that it applies to IPv6.

PtpV2OverUdpIPv6EventMessageTransmit

Type: BOOLEAN

The same as PtpV2OverUdpIPv4EventMsgTransmitHw, except that it applies to IPv6.

PtpV2OverUdpIPv6AllMessageTransmit

Type: BOOLEAN

The same as PtpV2OverUdpIPv4AllMsgTransmitHw, except that it applies to IPv6.

AllReceive

Type: BOOLEAN

TRUE indicates that the NIC can generate a hardware timestamp for all received packets (that is, not just PTP). A value of FALSE indicates that the hardware is not capable of this.

AllTransmit

Type: BOOLEAN

TRUE indicates that the NIC can generate a hardware timestamp for all transmitted packets (that is, not just PTP). A value of FALSE indicates that the hardware is not capable of this.

TaggedTransmit

Type: BOOLEAN

TRUE indicates that the NIC can generate a hardware timestamp for any specific transmitted packet when indicated to do so by the application. A value of FALSE indicates that the hardware is not capable of this. See TIMESTAMPING_CONFIG (and TIMESTAMPING_FLAG_TX) to determine how to request a timestamp when sending UDP packets through Windows Sockets.

Remarks

All of the INTERFACE_HARDWARE_TIMESTAMP_CAPABILITIES structure's members represent hardware timestamp capabilities. The hardware timestamps are generated using the NIC's hardware clock.

Having both hardware and software timestamps enabled together isn't supported.

Requirements

Requirement Value
Minimum supported client Windows 10 Build 20348
Minimum supported server Windows 10 Build 20348
Header iphlpapi.h

See also