• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * This header was generated from the Linux kernel headers by update_headers.py,
3  * to provide necessary information from kernel to userspace, such as constants,
4  * structures, and macros, and thus, contains no copyrightable information.
5  */
6 #ifndef _NET_TIMESTAMPING_H
7 #define _NET_TIMESTAMPING_H
8 #include <linux/types.h>
9 #include <linux/socket.h>
10 enum {
11 	SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
12 	SOF_TIMESTAMPING_TX_SOFTWARE = (1<<1),
13 	SOF_TIMESTAMPING_RX_HARDWARE = (1<<2),
14 	SOF_TIMESTAMPING_RX_SOFTWARE = (1<<3),
15 	SOF_TIMESTAMPING_SOFTWARE = (1<<4),
16 	SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
17 	SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
18 	SOF_TIMESTAMPING_OPT_ID = (1<<7),
19 	SOF_TIMESTAMPING_TX_SCHED = (1<<8),
20 	SOF_TIMESTAMPING_TX_ACK = (1<<9),
21 	SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
22 	SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
23 	SOF_TIMESTAMPING_OPT_STATS = (1<<12),
24 	SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
25 	SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),
26 	SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TX_SWHW,
27 	SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
28 				 SOF_TIMESTAMPING_LAST
29 };
30 #define SOF_TIMESTAMPING_TX_RECORD_MASK	(SOF_TIMESTAMPING_TX_HARDWARE | \
31 					 SOF_TIMESTAMPING_TX_SOFTWARE | \
32 					 SOF_TIMESTAMPING_TX_SCHED | \
33 					 SOF_TIMESTAMPING_TX_ACK)
34 struct hwtstamp_config {
35 	int flags;
36 	int tx_type;
37 	int rx_filter;
38 };
39 enum hwtstamp_tx_types {
40 
41 	HWTSTAMP_TX_OFF,
42 
43 	HWTSTAMP_TX_ON,
44 
45 	HWTSTAMP_TX_ONESTEP_SYNC,
46 };
47 enum hwtstamp_rx_filters {
48 
49 	HWTSTAMP_FILTER_NONE,
50 
51 	HWTSTAMP_FILTER_ALL,
52 
53 	HWTSTAMP_FILTER_SOME,
54 
55 	HWTSTAMP_FILTER_PTP_V1_L4_EVENT,
56 
57 	HWTSTAMP_FILTER_PTP_V1_L4_SYNC,
58 
59 	HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ,
60 
61 	HWTSTAMP_FILTER_PTP_V2_L4_EVENT,
62 
63 	HWTSTAMP_FILTER_PTP_V2_L4_SYNC,
64 
65 	HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ,
66 
67 	HWTSTAMP_FILTER_PTP_V2_L2_EVENT,
68 
69 	HWTSTAMP_FILTER_PTP_V2_L2_SYNC,
70 
71 	HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ,
72 
73 	HWTSTAMP_FILTER_PTP_V2_EVENT,
74 
75 	HWTSTAMP_FILTER_PTP_V2_SYNC,
76 
77 	HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,
78 
79 	HWTSTAMP_FILTER_NTP_ALL,
80 };
81 struct scm_ts_pktinfo {
82 	__u32 if_index;
83 	__u32 pkt_length;
84 	__u32 reserved[2];
85 };
86 enum txtime_flags {
87 	SOF_TXTIME_DEADLINE_MODE = (1 << 0),
88 	SOF_TXTIME_REPORT_ERRORS = (1 << 1),
89 	SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS,
90 	SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) |
91 				 SOF_TXTIME_FLAGS_LAST
92 };
93 struct sock_txtime {
94 	__kernel_clockid_t	clockid;
95 	__u32			flags;
96 };
97 #endif
98