blob: 9bbd3090e945626b978916ac57eb2f06be21f296 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _NET_TIMESTAMPING_H
8#define _NET_TIMESTAMPING_H
Christopher Ferris1308ad32017-11-14 17:32:13 -08009#include <linux/types.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070010#include <linux/socket.h>
11enum {
Tao Baod7db5942015-01-28 10:07:51 -080012 SOF_TIMESTAMPING_TX_HARDWARE = (1 << 0),
13 SOF_TIMESTAMPING_TX_SOFTWARE = (1 << 1),
14 SOF_TIMESTAMPING_RX_HARDWARE = (1 << 2),
15 SOF_TIMESTAMPING_RX_SOFTWARE = (1 << 3),
Tao Baod7db5942015-01-28 10:07:51 -080016 SOF_TIMESTAMPING_SOFTWARE = (1 << 4),
17 SOF_TIMESTAMPING_SYS_HARDWARE = (1 << 5),
18 SOF_TIMESTAMPING_RAW_HARDWARE = (1 << 6),
19 SOF_TIMESTAMPING_OPT_ID = (1 << 7),
Tao Baod7db5942015-01-28 10:07:51 -080020 SOF_TIMESTAMPING_TX_SCHED = (1 << 8),
21 SOF_TIMESTAMPING_TX_ACK = (1 << 9),
Christopher Ferris05d08e92016-02-04 13:16:38 -080022 SOF_TIMESTAMPING_OPT_CMSG = (1 << 10),
23 SOF_TIMESTAMPING_OPT_TSONLY = (1 << 11),
Christopher Ferris48af7cb2017-02-21 12:35:09 -080024 SOF_TIMESTAMPING_OPT_STATS = (1 << 12),
Christopher Ferris1308ad32017-11-14 17:32:13 -080025 SOF_TIMESTAMPING_OPT_PKTINFO = (1 << 13),
26 SOF_TIMESTAMPING_OPT_TX_SWHW = (1 << 14),
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000027 SOF_TIMESTAMPING_BIND_PHC = (1 << 15),
Christopher Ferris8b7fdc92023-02-21 13:36:32 -080028 SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16),
29 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_ID_TCP,
Christopher Ferris05d08e92016-02-04 13:16:38 -080030 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | SOF_TIMESTAMPING_LAST
Ben Cheng655a7c02013-10-16 16:09:24 -070031};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080032#define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | SOF_TIMESTAMPING_TX_SOFTWARE | SOF_TIMESTAMPING_TX_SCHED | SOF_TIMESTAMPING_TX_ACK)
Christopher Ferris3a39c0b2021-09-02 00:03:38 +000033struct so_timestamping {
34 int flags;
35 int bind_phc;
36};
Christopher Ferris106b3a82016-08-24 12:15:38 -070037struct hwtstamp_config {
Tao Baod7db5942015-01-28 10:07:51 -080038 int flags;
39 int tx_type;
Christopher Ferris48af7cb2017-02-21 12:35:09 -080040 int rx_filter;
Christopher Ferris106b3a82016-08-24 12:15:38 -070041};
Christopher Ferris1ed55342022-03-22 16:06:25 -070042enum hwtstamp_flags {
43 HWTSTAMP_FLAG_BONDED_PHC_INDEX = (1 << 0),
44#define HWTSTAMP_FLAG_BONDED_PHC_INDEX HWTSTAMP_FLAG_BONDED_PHC_INDEX
45 HWTSTAMP_FLAG_LAST = HWTSTAMP_FLAG_BONDED_PHC_INDEX,
46 HWTSTAMP_FLAG_MASK = (HWTSTAMP_FLAG_LAST - 1) | HWTSTAMP_FLAG_LAST
47};
Ben Cheng655a7c02013-10-16 16:09:24 -070048enum hwtstamp_tx_types {
Tao Baod7db5942015-01-28 10:07:51 -080049 HWTSTAMP_TX_OFF,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080050 HWTSTAMP_TX_ON,
Christopher Ferris106b3a82016-08-24 12:15:38 -070051 HWTSTAMP_TX_ONESTEP_SYNC,
Christopher Ferrisbb9fcb42020-04-06 11:38:04 -070052 HWTSTAMP_TX_ONESTEP_P2P,
Christopher Ferrisaf09c702020-06-01 20:29:29 -070053 __HWTSTAMP_TX_CNT
Ben Cheng655a7c02013-10-16 16:09:24 -070054};
55enum hwtstamp_rx_filters {
Christopher Ferris48af7cb2017-02-21 12:35:09 -080056 HWTSTAMP_FILTER_NONE,
Christopher Ferris106b3a82016-08-24 12:15:38 -070057 HWTSTAMP_FILTER_ALL,
Tao Baod7db5942015-01-28 10:07:51 -080058 HWTSTAMP_FILTER_SOME,
59 HWTSTAMP_FILTER_PTP_V1_L4_EVENT,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080060 HWTSTAMP_FILTER_PTP_V1_L4_SYNC,
Christopher Ferris106b3a82016-08-24 12:15:38 -070061 HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ,
Tao Baod7db5942015-01-28 10:07:51 -080062 HWTSTAMP_FILTER_PTP_V2_L4_EVENT,
63 HWTSTAMP_FILTER_PTP_V2_L4_SYNC,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080064 HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ,
Christopher Ferris106b3a82016-08-24 12:15:38 -070065 HWTSTAMP_FILTER_PTP_V2_L2_EVENT,
Tao Baod7db5942015-01-28 10:07:51 -080066 HWTSTAMP_FILTER_PTP_V2_L2_SYNC,
67 HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ,
Christopher Ferris48af7cb2017-02-21 12:35:09 -080068 HWTSTAMP_FILTER_PTP_V2_EVENT,
Christopher Ferris106b3a82016-08-24 12:15:38 -070069 HWTSTAMP_FILTER_PTP_V2_SYNC,
Tao Baod7db5942015-01-28 10:07:51 -080070 HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,
Christopher Ferris1308ad32017-11-14 17:32:13 -080071 HWTSTAMP_FILTER_NTP_ALL,
Christopher Ferrisaf09c702020-06-01 20:29:29 -070072 __HWTSTAMP_FILTER_CNT
Christopher Ferris1308ad32017-11-14 17:32:13 -080073};
74struct scm_ts_pktinfo {
75 __u32 if_index;
76 __u32 pkt_length;
77 __u32 reserved[2];
Ben Cheng655a7c02013-10-16 16:09:24 -070078};
Christopher Ferris9ce28842018-10-25 12:11:39 -070079enum txtime_flags {
80 SOF_TXTIME_DEADLINE_MODE = (1 << 0),
81 SOF_TXTIME_REPORT_ERRORS = (1 << 1),
82 SOF_TXTIME_FLAGS_LAST = SOF_TXTIME_REPORT_ERRORS,
83 SOF_TXTIME_FLAGS_MASK = (SOF_TXTIME_FLAGS_LAST - 1) | SOF_TXTIME_FLAGS_LAST
84};
85struct sock_txtime {
Christopher Ferris86a48372019-01-10 14:14:59 -080086 __kernel_clockid_t clockid;
Christopher Ferris9ce28842018-10-25 12:11:39 -070087 __u32 flags;
88};
Christopher Ferris48af7cb2017-02-21 12:35:09 -080089#endif