unix: add SOF_TIMESTAMPING_* flags on Linux

Add the SOF_TIMESTAMPING_* flags used to request different types of
timestamping operations. In

  err := unix.SetsockoptInt(fd, unix.SOL_SOCKET, unix.SO_TIMESTAMPING, val)

val is a mask of SOF_TIMESTAMPING_* values.

See https://www.kernel.org/doc/Documentation/networking/timestamping.txt
for more information.

Fixes golang/go#28173

Change-Id: I26e964d607606f2b3cb24f66f071d11765b9696e
Reviewed-on: https://go-review.googlesource.com/c/143337
Run-TryBot: Tobias Klauser <tobias.klauser@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
Tobias Klauser
2018-10-19 16:01:39 +00:00
committed by Tobias Klauser
parent 8f1d3d21f8
commit 8e24a49d80
13 changed files with 276 additions and 0 deletions
+24
View File
@@ -75,6 +75,7 @@ package unix
#include <linux/rtc.h>
#include <linux/blkpg.h>
#include <linux/net_namespace.h>
#include <linux/net_tstamp.h>
#include <linux/if_xdp.h>
#include <linux/ncsi.h>
@@ -1612,3 +1613,26 @@ const (
NCSI_CHANNEL_ATTR_VLAN_LIST = C.NCSI_CHANNEL_ATTR_VLAN_LIST
NCSI_CHANNEL_ATTR_VLAN_ID = C.NCSI_CHANNEL_ATTR_VLAN_ID
)
// SO_TIMESTAMPING flags
const (
SOF_TIMESTAMPING_TX_HARDWARE = C.SOF_TIMESTAMPING_TX_HARDWARE
SOF_TIMESTAMPING_TX_SOFTWARE = C.SOF_TIMESTAMPING_TX_SOFTWARE
SOF_TIMESTAMPING_RX_HARDWARE = C.SOF_TIMESTAMPING_RX_HARDWARE
SOF_TIMESTAMPING_RX_SOFTWARE = C.SOF_TIMESTAMPING_RX_SOFTWARE
SOF_TIMESTAMPING_SOFTWARE = C.SOF_TIMESTAMPING_SOFTWARE
SOF_TIMESTAMPING_SYS_HARDWARE = C.SOF_TIMESTAMPING_SYS_HARDWARE
SOF_TIMESTAMPING_RAW_HARDWARE = C.SOF_TIMESTAMPING_RAW_HARDWARE
SOF_TIMESTAMPING_OPT_ID = C.SOF_TIMESTAMPING_OPT_ID
SOF_TIMESTAMPING_TX_SCHED = C.SOF_TIMESTAMPING_TX_SCHED
SOF_TIMESTAMPING_TX_ACK = C.SOF_TIMESTAMPING_TX_ACK
SOF_TIMESTAMPING_OPT_CMSG = C.SOF_TIMESTAMPING_OPT_CMSG
SOF_TIMESTAMPING_OPT_TSONLY = C.SOF_TIMESTAMPING_OPT_TSONLY
SOF_TIMESTAMPING_OPT_STATS = C.SOF_TIMESTAMPING_OPT_STATS
SOF_TIMESTAMPING_OPT_PKTINFO = C.SOF_TIMESTAMPING_OPT_PKTINFO
SOF_TIMESTAMPING_OPT_TX_SWHW = C.SOF_TIMESTAMPING_OPT_TX_SWHW
SOF_TIMESTAMPING_LAST = C.SOF_TIMESTAMPING_LAST
SOF_TIMESTAMPING_MASK = C.SOF_TIMESTAMPING_MASK
)