1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef _UAPI_LINUX_ETHTOOL_NETLINK_H_
20 #define _UAPI_LINUX_ETHTOOL_NETLINK_H_
21 #include <linux/ethtool.h>
22 enum {
23   ETHTOOL_MSG_USER_NONE,
24   ETHTOOL_MSG_STRSET_GET,
25   ETHTOOL_MSG_LINKINFO_GET,
26   ETHTOOL_MSG_LINKINFO_SET,
27   ETHTOOL_MSG_LINKMODES_GET,
28   ETHTOOL_MSG_LINKMODES_SET,
29   ETHTOOL_MSG_LINKSTATE_GET,
30   ETHTOOL_MSG_DEBUG_GET,
31   ETHTOOL_MSG_DEBUG_SET,
32   ETHTOOL_MSG_WOL_GET,
33   ETHTOOL_MSG_WOL_SET,
34   ETHTOOL_MSG_FEATURES_GET,
35   ETHTOOL_MSG_FEATURES_SET,
36   ETHTOOL_MSG_PRIVFLAGS_GET,
37   ETHTOOL_MSG_PRIVFLAGS_SET,
38   ETHTOOL_MSG_RINGS_GET,
39   ETHTOOL_MSG_RINGS_SET,
40   ETHTOOL_MSG_CHANNELS_GET,
41   ETHTOOL_MSG_CHANNELS_SET,
42   ETHTOOL_MSG_COALESCE_GET,
43   ETHTOOL_MSG_COALESCE_SET,
44   ETHTOOL_MSG_PAUSE_GET,
45   ETHTOOL_MSG_PAUSE_SET,
46   ETHTOOL_MSG_EEE_GET,
47   ETHTOOL_MSG_EEE_SET,
48   ETHTOOL_MSG_TSINFO_GET,
49   __ETHTOOL_MSG_USER_CNT,
50   ETHTOOL_MSG_USER_MAX = __ETHTOOL_MSG_USER_CNT - 1
51 };
52 enum {
53   ETHTOOL_MSG_KERNEL_NONE,
54   ETHTOOL_MSG_STRSET_GET_REPLY,
55   ETHTOOL_MSG_LINKINFO_GET_REPLY,
56   ETHTOOL_MSG_LINKINFO_NTF,
57   ETHTOOL_MSG_LINKMODES_GET_REPLY,
58   ETHTOOL_MSG_LINKMODES_NTF,
59   ETHTOOL_MSG_LINKSTATE_GET_REPLY,
60   ETHTOOL_MSG_DEBUG_GET_REPLY,
61   ETHTOOL_MSG_DEBUG_NTF,
62   ETHTOOL_MSG_WOL_GET_REPLY,
63   ETHTOOL_MSG_WOL_NTF,
64   ETHTOOL_MSG_FEATURES_GET_REPLY,
65   ETHTOOL_MSG_FEATURES_SET_REPLY,
66   ETHTOOL_MSG_FEATURES_NTF,
67   ETHTOOL_MSG_PRIVFLAGS_GET_REPLY,
68   ETHTOOL_MSG_PRIVFLAGS_NTF,
69   ETHTOOL_MSG_RINGS_GET_REPLY,
70   ETHTOOL_MSG_RINGS_NTF,
71   ETHTOOL_MSG_CHANNELS_GET_REPLY,
72   ETHTOOL_MSG_CHANNELS_NTF,
73   ETHTOOL_MSG_COALESCE_GET_REPLY,
74   ETHTOOL_MSG_COALESCE_NTF,
75   ETHTOOL_MSG_PAUSE_GET_REPLY,
76   ETHTOOL_MSG_PAUSE_NTF,
77   ETHTOOL_MSG_EEE_GET_REPLY,
78   ETHTOOL_MSG_EEE_NTF,
79   ETHTOOL_MSG_TSINFO_GET_REPLY,
80   __ETHTOOL_MSG_KERNEL_CNT,
81   ETHTOOL_MSG_KERNEL_MAX = __ETHTOOL_MSG_KERNEL_CNT - 1
82 };
83 #define ETHTOOL_FLAG_COMPACT_BITSETS (1 << 0)
84 #define ETHTOOL_FLAG_OMIT_REPLY (1 << 1)
85 #define ETHTOOL_FLAG_ALL (ETHTOOL_FLAG_COMPACT_BITSETS | ETHTOOL_FLAG_OMIT_REPLY)
86 enum {
87   ETHTOOL_A_HEADER_UNSPEC,
88   ETHTOOL_A_HEADER_DEV_INDEX,
89   ETHTOOL_A_HEADER_DEV_NAME,
90   ETHTOOL_A_HEADER_FLAGS,
91   __ETHTOOL_A_HEADER_CNT,
92   ETHTOOL_A_HEADER_MAX = __ETHTOOL_A_HEADER_CNT - 1
93 };
94 enum {
95   ETHTOOL_A_BITSET_BIT_UNSPEC,
96   ETHTOOL_A_BITSET_BIT_INDEX,
97   ETHTOOL_A_BITSET_BIT_NAME,
98   ETHTOOL_A_BITSET_BIT_VALUE,
99   __ETHTOOL_A_BITSET_BIT_CNT,
100   ETHTOOL_A_BITSET_BIT_MAX = __ETHTOOL_A_BITSET_BIT_CNT - 1
101 };
102 enum {
103   ETHTOOL_A_BITSET_BITS_UNSPEC,
104   ETHTOOL_A_BITSET_BITS_BIT,
105   __ETHTOOL_A_BITSET_BITS_CNT,
106   ETHTOOL_A_BITSET_BITS_MAX = __ETHTOOL_A_BITSET_BITS_CNT - 1
107 };
108 enum {
109   ETHTOOL_A_BITSET_UNSPEC,
110   ETHTOOL_A_BITSET_NOMASK,
111   ETHTOOL_A_BITSET_SIZE,
112   ETHTOOL_A_BITSET_BITS,
113   ETHTOOL_A_BITSET_VALUE,
114   ETHTOOL_A_BITSET_MASK,
115   __ETHTOOL_A_BITSET_CNT,
116   ETHTOOL_A_BITSET_MAX = __ETHTOOL_A_BITSET_CNT - 1
117 };
118 enum {
119   ETHTOOL_A_STRING_UNSPEC,
120   ETHTOOL_A_STRING_INDEX,
121   ETHTOOL_A_STRING_VALUE,
122   __ETHTOOL_A_STRING_CNT,
123   ETHTOOL_A_STRING_MAX = __ETHTOOL_A_STRING_CNT - 1
124 };
125 enum {
126   ETHTOOL_A_STRINGS_UNSPEC,
127   ETHTOOL_A_STRINGS_STRING,
128   __ETHTOOL_A_STRINGS_CNT,
129   ETHTOOL_A_STRINGS_MAX = __ETHTOOL_A_STRINGS_CNT - 1
130 };
131 enum {
132   ETHTOOL_A_STRINGSET_UNSPEC,
133   ETHTOOL_A_STRINGSET_ID,
134   ETHTOOL_A_STRINGSET_COUNT,
135   ETHTOOL_A_STRINGSET_STRINGS,
136   __ETHTOOL_A_STRINGSET_CNT,
137   ETHTOOL_A_STRINGSET_MAX = __ETHTOOL_A_STRINGSET_CNT - 1
138 };
139 enum {
140   ETHTOOL_A_STRINGSETS_UNSPEC,
141   ETHTOOL_A_STRINGSETS_STRINGSET,
142   __ETHTOOL_A_STRINGSETS_CNT,
143   ETHTOOL_A_STRINGSETS_MAX = __ETHTOOL_A_STRINGSETS_CNT - 1
144 };
145 enum {
146   ETHTOOL_A_STRSET_UNSPEC,
147   ETHTOOL_A_STRSET_HEADER,
148   ETHTOOL_A_STRSET_STRINGSETS,
149   ETHTOOL_A_STRSET_COUNTS_ONLY,
150   __ETHTOOL_A_STRSET_CNT,
151   ETHTOOL_A_STRSET_MAX = __ETHTOOL_A_STRSET_CNT - 1
152 };
153 enum {
154   ETHTOOL_A_LINKINFO_UNSPEC,
155   ETHTOOL_A_LINKINFO_HEADER,
156   ETHTOOL_A_LINKINFO_PORT,
157   ETHTOOL_A_LINKINFO_PHYADDR,
158   ETHTOOL_A_LINKINFO_TP_MDIX,
159   ETHTOOL_A_LINKINFO_TP_MDIX_CTRL,
160   ETHTOOL_A_LINKINFO_TRANSCEIVER,
161   __ETHTOOL_A_LINKINFO_CNT,
162   ETHTOOL_A_LINKINFO_MAX = __ETHTOOL_A_LINKINFO_CNT - 1
163 };
164 enum {
165   ETHTOOL_A_LINKMODES_UNSPEC,
166   ETHTOOL_A_LINKMODES_HEADER,
167   ETHTOOL_A_LINKMODES_AUTONEG,
168   ETHTOOL_A_LINKMODES_OURS,
169   ETHTOOL_A_LINKMODES_PEER,
170   ETHTOOL_A_LINKMODES_SPEED,
171   ETHTOOL_A_LINKMODES_DUPLEX,
172   __ETHTOOL_A_LINKMODES_CNT,
173   ETHTOOL_A_LINKMODES_MAX = __ETHTOOL_A_LINKMODES_CNT - 1
174 };
175 enum {
176   ETHTOOL_A_LINKSTATE_UNSPEC,
177   ETHTOOL_A_LINKSTATE_HEADER,
178   ETHTOOL_A_LINKSTATE_LINK,
179   __ETHTOOL_A_LINKSTATE_CNT,
180   ETHTOOL_A_LINKSTATE_MAX = __ETHTOOL_A_LINKSTATE_CNT - 1
181 };
182 enum {
183   ETHTOOL_A_DEBUG_UNSPEC,
184   ETHTOOL_A_DEBUG_HEADER,
185   ETHTOOL_A_DEBUG_MSGMASK,
186   __ETHTOOL_A_DEBUG_CNT,
187   ETHTOOL_A_DEBUG_MAX = __ETHTOOL_A_DEBUG_CNT - 1
188 };
189 enum {
190   ETHTOOL_A_WOL_UNSPEC,
191   ETHTOOL_A_WOL_HEADER,
192   ETHTOOL_A_WOL_MODES,
193   ETHTOOL_A_WOL_SOPASS,
194   __ETHTOOL_A_WOL_CNT,
195   ETHTOOL_A_WOL_MAX = __ETHTOOL_A_WOL_CNT - 1
196 };
197 enum {
198   ETHTOOL_A_FEATURES_UNSPEC,
199   ETHTOOL_A_FEATURES_HEADER,
200   ETHTOOL_A_FEATURES_HW,
201   ETHTOOL_A_FEATURES_WANTED,
202   ETHTOOL_A_FEATURES_ACTIVE,
203   ETHTOOL_A_FEATURES_NOCHANGE,
204   __ETHTOOL_A_FEATURES_CNT,
205   ETHTOOL_A_FEATURES_MAX = __ETHTOOL_A_FEATURES_CNT - 1
206 };
207 enum {
208   ETHTOOL_A_PRIVFLAGS_UNSPEC,
209   ETHTOOL_A_PRIVFLAGS_HEADER,
210   ETHTOOL_A_PRIVFLAGS_FLAGS,
211   __ETHTOOL_A_PRIVFLAGS_CNT,
212   ETHTOOL_A_PRIVFLAGS_MAX = __ETHTOOL_A_PRIVFLAGS_CNT - 1
213 };
214 enum {
215   ETHTOOL_A_RINGS_UNSPEC,
216   ETHTOOL_A_RINGS_HEADER,
217   ETHTOOL_A_RINGS_RX_MAX,
218   ETHTOOL_A_RINGS_RX_MINI_MAX,
219   ETHTOOL_A_RINGS_RX_JUMBO_MAX,
220   ETHTOOL_A_RINGS_TX_MAX,
221   ETHTOOL_A_RINGS_RX,
222   ETHTOOL_A_RINGS_RX_MINI,
223   ETHTOOL_A_RINGS_RX_JUMBO,
224   ETHTOOL_A_RINGS_TX,
225   __ETHTOOL_A_RINGS_CNT,
226   ETHTOOL_A_RINGS_MAX = (__ETHTOOL_A_RINGS_CNT - 1)
227 };
228 enum {
229   ETHTOOL_A_CHANNELS_UNSPEC,
230   ETHTOOL_A_CHANNELS_HEADER,
231   ETHTOOL_A_CHANNELS_RX_MAX,
232   ETHTOOL_A_CHANNELS_TX_MAX,
233   ETHTOOL_A_CHANNELS_OTHER_MAX,
234   ETHTOOL_A_CHANNELS_COMBINED_MAX,
235   ETHTOOL_A_CHANNELS_RX_COUNT,
236   ETHTOOL_A_CHANNELS_TX_COUNT,
237   ETHTOOL_A_CHANNELS_OTHER_COUNT,
238   ETHTOOL_A_CHANNELS_COMBINED_COUNT,
239   __ETHTOOL_A_CHANNELS_CNT,
240   ETHTOOL_A_CHANNELS_MAX = (__ETHTOOL_A_CHANNELS_CNT - 1)
241 };
242 enum {
243   ETHTOOL_A_COALESCE_UNSPEC,
244   ETHTOOL_A_COALESCE_HEADER,
245   ETHTOOL_A_COALESCE_RX_USECS,
246   ETHTOOL_A_COALESCE_RX_MAX_FRAMES,
247   ETHTOOL_A_COALESCE_RX_USECS_IRQ,
248   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_IRQ,
249   ETHTOOL_A_COALESCE_TX_USECS,
250   ETHTOOL_A_COALESCE_TX_MAX_FRAMES,
251   ETHTOOL_A_COALESCE_TX_USECS_IRQ,
252   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_IRQ,
253   ETHTOOL_A_COALESCE_STATS_BLOCK_USECS,
254   ETHTOOL_A_COALESCE_USE_ADAPTIVE_RX,
255   ETHTOOL_A_COALESCE_USE_ADAPTIVE_TX,
256   ETHTOOL_A_COALESCE_PKT_RATE_LOW,
257   ETHTOOL_A_COALESCE_RX_USECS_LOW,
258   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_LOW,
259   ETHTOOL_A_COALESCE_TX_USECS_LOW,
260   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_LOW,
261   ETHTOOL_A_COALESCE_PKT_RATE_HIGH,
262   ETHTOOL_A_COALESCE_RX_USECS_HIGH,
263   ETHTOOL_A_COALESCE_RX_MAX_FRAMES_HIGH,
264   ETHTOOL_A_COALESCE_TX_USECS_HIGH,
265   ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH,
266   ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL,
267   __ETHTOOL_A_COALESCE_CNT,
268   ETHTOOL_A_COALESCE_MAX = (__ETHTOOL_A_COALESCE_CNT - 1)
269 };
270 enum {
271   ETHTOOL_A_PAUSE_UNSPEC,
272   ETHTOOL_A_PAUSE_HEADER,
273   ETHTOOL_A_PAUSE_AUTONEG,
274   ETHTOOL_A_PAUSE_RX,
275   ETHTOOL_A_PAUSE_TX,
276   __ETHTOOL_A_PAUSE_CNT,
277   ETHTOOL_A_PAUSE_MAX = (__ETHTOOL_A_PAUSE_CNT - 1)
278 };
279 enum {
280   ETHTOOL_A_EEE_UNSPEC,
281   ETHTOOL_A_EEE_HEADER,
282   ETHTOOL_A_EEE_MODES_OURS,
283   ETHTOOL_A_EEE_MODES_PEER,
284   ETHTOOL_A_EEE_ACTIVE,
285   ETHTOOL_A_EEE_ENABLED,
286   ETHTOOL_A_EEE_TX_LPI_ENABLED,
287   ETHTOOL_A_EEE_TX_LPI_TIMER,
288   __ETHTOOL_A_EEE_CNT,
289   ETHTOOL_A_EEE_MAX = (__ETHTOOL_A_EEE_CNT - 1)
290 };
291 enum {
292   ETHTOOL_A_TSINFO_UNSPEC,
293   ETHTOOL_A_TSINFO_HEADER,
294   ETHTOOL_A_TSINFO_TIMESTAMPING,
295   ETHTOOL_A_TSINFO_TX_TYPES,
296   ETHTOOL_A_TSINFO_RX_FILTERS,
297   ETHTOOL_A_TSINFO_PHC_INDEX,
298   __ETHTOOL_A_TSINFO_CNT,
299   ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
300 };
301 #define ETHTOOL_GENL_NAME "ethtool"
302 #define ETHTOOL_GENL_VERSION 1
303 #define ETHTOOL_MCGRP_MONITOR_NAME "monitor"
304 #endif
305