xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/net_tstamp.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _NET_TIMESTAMPING_H
8*8d67ca89SAndroid Build Coastguard Worker #define _NET_TIMESTAMPING_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/socket.h>
11*8d67ca89SAndroid Build Coastguard Worker enum {
12*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_TX_HARDWARE = (1 << 0),
13*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_TX_SOFTWARE = (1 << 1),
14*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_RX_HARDWARE = (1 << 2),
15*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_RX_SOFTWARE = (1 << 3),
16*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_SOFTWARE = (1 << 4),
17*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_SYS_HARDWARE = (1 << 5),
18*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_RAW_HARDWARE = (1 << 6),
19*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_ID = (1 << 7),
20*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_TX_SCHED = (1 << 8),
21*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_TX_ACK = (1 << 9),
22*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_CMSG = (1 << 10),
23*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_TSONLY = (1 << 11),
24*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_STATS = (1 << 12),
25*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_PKTINFO = (1 << 13),
26*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_TX_SWHW = (1 << 14),
27*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_BIND_PHC = (1 << 15),
28*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16),
29*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_ID_TCP,
30*8d67ca89SAndroid Build Coastguard Worker   SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | SOF_TIMESTAMPING_LAST
31*8d67ca89SAndroid Build Coastguard Worker };
32*8d67ca89SAndroid Build Coastguard Worker #define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | SOF_TIMESTAMPING_TX_SOFTWARE | SOF_TIMESTAMPING_TX_SCHED | SOF_TIMESTAMPING_TX_ACK)
33*8d67ca89SAndroid Build Coastguard Worker struct so_timestamping {
34*8d67ca89SAndroid Build Coastguard Worker   int flags;
35*8d67ca89SAndroid Build Coastguard Worker   int bind_phc;
36*8d67ca89SAndroid Build Coastguard Worker };
37*8d67ca89SAndroid Build Coastguard Worker struct hwtstamp_config {
38*8d67ca89SAndroid Build Coastguard Worker   int flags;
39*8d67ca89SAndroid Build Coastguard Worker   int tx_type;
40*8d67ca89SAndroid Build Coastguard Worker   int rx_filter;
41*8d67ca89SAndroid Build Coastguard Worker };
42*8d67ca89SAndroid Build Coastguard Worker enum hwtstamp_flags {
43*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FLAG_BONDED_PHC_INDEX = (1 << 0),
44*8d67ca89SAndroid Build Coastguard Worker #define HWTSTAMP_FLAG_BONDED_PHC_INDEX HWTSTAMP_FLAG_BONDED_PHC_INDEX
45*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FLAG_LAST = HWTSTAMP_FLAG_BONDED_PHC_INDEX,
46*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FLAG_MASK = (HWTSTAMP_FLAG_LAST - 1) | HWTSTAMP_FLAG_LAST
47*8d67ca89SAndroid Build Coastguard Worker };
48*8d67ca89SAndroid Build Coastguard Worker enum hwtstamp_tx_types {
49*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_TX_OFF,
50*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_TX_ON,
51*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_TX_ONESTEP_SYNC,
52*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_TX_ONESTEP_P2P,
53*8d67ca89SAndroid Build Coastguard Worker   __HWTSTAMP_TX_CNT
54*8d67ca89SAndroid Build Coastguard Worker };
55*8d67ca89SAndroid Build Coastguard Worker enum hwtstamp_rx_filters {
56*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_NONE,
57*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_ALL,
58*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_SOME,
59*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V1_L4_EVENT,
60*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V1_L4_SYNC,
61*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ,
62*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L4_EVENT,
63*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L4_SYNC,
64*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ,
65*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L2_EVENT,
66*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L2_SYNC,
67*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ,
68*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_EVENT,
69*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_SYNC,
70*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,
71*8d67ca89SAndroid Build Coastguard Worker   HWTSTAMP_FILTER_NTP_ALL,
72*8d67ca89SAndroid Build Coastguard Worker   __HWTSTAMP_FILTER_CNT
73*8d67ca89SAndroid Build Coastguard Worker };
74*8d67ca89SAndroid Build Coastguard Worker struct scm_ts_pktinfo {
75*8d67ca89SAndroid Build Coastguard Worker   __u32 if_index;
76*8d67ca89SAndroid Build Coastguard Worker   __u32 pkt_length;
77*8d67ca89SAndroid Build Coastguard Worker   __u32 reserved[2];
78*8d67ca89SAndroid Build Coastguard Worker };
79*8d67ca89SAndroid Build Coastguard Worker enum txtime_flags {
80*8d67ca89SAndroid Build Coastguard Worker   SOF_TXTIME_DEADLINE_MODE = (1 << 0),
81*8d67ca89SAndroid Build Coastguard Worker   SOF_TXTIME_REPORT_ERRORS = (1 << 1),
82*8d67ca89SAndroid Build Coastguard Worker   SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS,
83*8d67ca89SAndroid Build Coastguard Worker   SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) | SOF_TXTIME_FLAGS_LAST
84*8d67ca89SAndroid Build Coastguard Worker };
85*8d67ca89SAndroid Build Coastguard Worker struct sock_txtime {
86*8d67ca89SAndroid Build Coastguard Worker   __kernel_clockid_t clockid;
87*8d67ca89SAndroid Build Coastguard Worker   __u32 flags;
88*8d67ca89SAndroid Build Coastguard Worker };
89*8d67ca89SAndroid Build Coastguard Worker #endif
90