blob: 4f6f1455568e407696aa0b10b926e572eeec4192 [file] [log] [blame]
Joe Richeyea9bcad2017-03-08 10:50:27 -08001// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go
2// Code generated by the command above; see README.md. DO NOT EDIT.
3
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +01004// +build mipsle,linux
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +01005
6package unix
7
8const (
9 sizeofPtr = 0x4
10 sizeofShort = 0x2
11 sizeofInt = 0x4
12 sizeofLong = 0x4
13 sizeofLongLong = 0x8
14 PathMax = 0x1000
15)
16
17type (
18 _C_short int16
19 _C_int int32
20 _C_long int32
21 _C_long_long int64
22)
23
24type Timespec struct {
25 Sec int32
26 Nsec int32
27}
28
29type Timeval struct {
30 Sec int32
31 Usec int32
32}
33
34type Timex struct {
35 Modes uint32
36 Offset int32
37 Freq int32
38 Maxerror int32
39 Esterror int32
40 Status int32
41 Constant int32
42 Precision int32
43 Tolerance int32
44 Time Timeval
45 Tick int32
46 Ppsfreq int32
47 Jitter int32
48 Shift int32
49 Stabil int32
50 Jitcnt int32
51 Calcnt int32
52 Errcnt int32
53 Stbcnt int32
54 Tai int32
Garret Kellyaf9a2122018-01-24 11:33:53 -050055 _ [44]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +010056}
57
58type Time_t int32
59
60type Tms struct {
61 Utime int32
62 Stime int32
63 Cutime int32
64 Cstime int32
65}
66
67type Utimbuf struct {
68 Actime int32
69 Modtime int32
70}
71
72type Rusage struct {
73 Utime Timeval
74 Stime Timeval
75 Maxrss int32
76 Ixrss int32
77 Idrss int32
78 Isrss int32
79 Minflt int32
80 Majflt int32
81 Nswap int32
82 Inblock int32
83 Oublock int32
84 Msgsnd int32
85 Msgrcv int32
86 Nsignals int32
87 Nvcsw int32
88 Nivcsw int32
89}
90
91type Rlimit struct {
92 Cur uint64
93 Max uint64
94}
95
96type _Gid_t uint32
97
98type Stat_t struct {
99 Dev uint32
100 Pad1 [3]int32
101 Ino uint64
102 Mode uint32
103 Nlink uint32
104 Uid uint32
105 Gid uint32
106 Rdev uint32
107 Pad2 [3]int32
108 Size int64
109 Atim Timespec
110 Mtim Timespec
111 Ctim Timespec
112 Blksize int32
113 Pad4 int32
114 Blocks int64
115 Pad5 [14]int32
116}
117
Tobias Klauserfff93fa2018-01-12 10:54:32 +0100118type StatxTimestamp struct {
Tobias Klauser2281fa92018-04-13 16:10:16 +0200119 Sec int64
120 Nsec uint32
121 _ int32
Tobias Klauserfff93fa2018-01-12 10:54:32 +0100122}
123
124type Statx_t struct {
125 Mask uint32
126 Blksize uint32
127 Attributes uint64
128 Nlink uint32
129 Uid uint32
130 Gid uint32
131 Mode uint16
132 _ [1]uint16
133 Ino uint64
134 Size uint64
135 Blocks uint64
136 Attributes_mask uint64
137 Atime StatxTimestamp
138 Btime StatxTimestamp
139 Ctime StatxTimestamp
140 Mtime StatxTimestamp
141 Rdev_major uint32
142 Rdev_minor uint32
143 Dev_major uint32
144 Dev_minor uint32
145 _ [14]uint64
146}
147
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100148type Dirent struct {
Garret Kellyaf9a2122018-01-24 11:33:53 -0500149 Ino uint64
150 Off int64
151 Reclen uint16
152 Type uint8
153 Name [256]int8
154 _ [5]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100155}
156
157type Fsid struct {
Tobias Klauserb126b212018-04-16 12:06:24 +0200158 Val [2]int32
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100159}
160
161type Flock_t struct {
Garret Kellyaf9a2122018-01-24 11:33:53 -0500162 Type int16
163 Whence int16
164 _ [4]byte
165 Start int64
166 Len int64
167 Pid int32
168 _ [4]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100169}
170
joerichey@google.com8c0a5ea2017-04-04 16:46:32 +0000171type FscryptPolicy struct {
172 Version uint8
173 Contents_encryption_mode uint8
174 Filenames_encryption_mode uint8
175 Flags uint8
176 Master_key_descriptor [8]uint8
177}
178
179type FscryptKey struct {
180 Mode uint32
181 Raw [64]uint8
182 Size uint32
183}
184
Joe Richey joerichey@google.coma2e06a12017-04-21 23:22:19 +0000185type KeyctlDHParams struct {
186 Private int32
187 Prime int32
188 Base int32
189}
190
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100191const (
192 FADV_NORMAL = 0x0
193 FADV_RANDOM = 0x1
194 FADV_SEQUENTIAL = 0x2
195 FADV_WILLNEED = 0x3
196 FADV_DONTNEED = 0x4
197 FADV_NOREUSE = 0x5
198)
199
200type RawSockaddrInet4 struct {
201 Family uint16
202 Port uint16
203 Addr [4]byte /* in_addr */
204 Zero [8]uint8
205}
206
207type RawSockaddrInet6 struct {
208 Family uint16
209 Port uint16
210 Flowinfo uint32
211 Addr [16]byte /* in6_addr */
212 Scope_id uint32
213}
214
215type RawSockaddrUnix struct {
216 Family uint16
217 Path [108]int8
218}
219
220type RawSockaddrLinklayer struct {
221 Family uint16
222 Protocol uint16
223 Ifindex int32
224 Hatype uint16
225 Pkttype uint8
226 Halen uint8
227 Addr [8]uint8
228}
229
230type RawSockaddrNetlink struct {
231 Family uint16
232 Pad uint16
233 Pid uint32
234 Groups uint32
235}
236
237type RawSockaddrHCI struct {
238 Family uint16
239 Dev uint16
240 Channel uint16
241}
242
Garret Kellyef802242018-01-11 08:58:01 -0500243type RawSockaddrL2 struct {
244 Family uint16
245 Psm uint16
246 Bdaddr [6]uint8
247 Cid uint16
248 Bdaddr_type uint8
249 _ [1]byte
250}
251
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100252type RawSockaddrCAN struct {
Garret Kellyaf9a2122018-01-24 11:33:53 -0500253 Family uint16
254 _ [2]byte
255 Ifindex int32
256 Addr [8]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100257}
258
Matt Layhere24f4852017-02-10 21:03:03 -0500259type RawSockaddrALG struct {
260 Family uint16
261 Type [14]uint8
262 Feat uint32
263 Mask uint32
264 Name [64]uint8
265}
266
Matt Layherd67a3272017-03-07 20:18:38 -0500267type RawSockaddrVM struct {
268 Family uint16
269 Reserved1 uint16
270 Port uint32
271 Cid uint32
272 Zero [4]uint8
273}
274
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100275type RawSockaddr struct {
276 Family uint16
277 Data [14]int8
278}
279
280type RawSockaddrAny struct {
281 Addr RawSockaddr
282 Pad [96]int8
283}
284
285type _Socklen uint32
286
287type Linger struct {
288 Onoff int32
289 Linger int32
290}
291
292type Iovec struct {
293 Base *byte
294 Len uint32
295}
296
297type IPMreq struct {
298 Multiaddr [4]byte /* in_addr */
299 Interface [4]byte /* in_addr */
300}
301
302type IPMreqn struct {
303 Multiaddr [4]byte /* in_addr */
304 Address [4]byte /* in_addr */
305 Ifindex int32
306}
307
308type IPv6Mreq struct {
309 Multiaddr [16]byte /* in6_addr */
310 Interface uint32
311}
312
Matt Layher7716a562017-07-28 11:08:13 -0400313type PacketMreq struct {
314 Ifindex int32
315 Type uint16
316 Alen uint16
317 Address [8]uint8
318}
319
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100320type Msghdr struct {
321 Name *byte
322 Namelen uint32
323 Iov *Iovec
324 Iovlen uint32
325 Control *byte
326 Controllen uint32
327 Flags int32
328}
329
330type Cmsghdr struct {
331 Len uint32
332 Level int32
333 Type int32
334}
335
336type Inet4Pktinfo struct {
337 Ifindex int32
338 Spec_dst [4]byte /* in_addr */
339 Addr [4]byte /* in_addr */
340}
341
342type Inet6Pktinfo struct {
343 Addr [16]byte /* in6_addr */
344 Ifindex uint32
345}
346
347type IPv6MTUInfo struct {
348 Addr RawSockaddrInet6
349 Mtu uint32
350}
351
352type ICMPv6Filter struct {
353 Data [8]uint32
354}
355
356type Ucred struct {
357 Pid int32
358 Uid uint32
359 Gid uint32
360}
361
362type TCPInfo struct {
363 State uint8
364 Ca_state uint8
365 Retransmits uint8
366 Probes uint8
367 Backoff uint8
368 Options uint8
Garret Kellyaf9a2122018-01-24 11:33:53 -0500369 _ [2]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100370 Rto uint32
371 Ato uint32
372 Snd_mss uint32
373 Rcv_mss uint32
374 Unacked uint32
375 Sacked uint32
376 Lost uint32
377 Retrans uint32
378 Fackets uint32
379 Last_data_sent uint32
380 Last_ack_sent uint32
381 Last_data_recv uint32
382 Last_ack_recv uint32
383 Pmtu uint32
384 Rcv_ssthresh uint32
385 Rtt uint32
386 Rttvar uint32
387 Snd_ssthresh uint32
388 Snd_cwnd uint32
389 Advmss uint32
390 Reordering uint32
391 Rcv_rtt uint32
392 Rcv_space uint32
393 Total_retrans uint32
394}
395
396const (
397 SizeofSockaddrInet4 = 0x10
398 SizeofSockaddrInet6 = 0x1c
399 SizeofSockaddrAny = 0x70
400 SizeofSockaddrUnix = 0x6e
401 SizeofSockaddrLinklayer = 0x14
402 SizeofSockaddrNetlink = 0xc
403 SizeofSockaddrHCI = 0x6
Garret Kellyef802242018-01-11 08:58:01 -0500404 SizeofSockaddrL2 = 0xe
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100405 SizeofSockaddrCAN = 0x10
Matt Layhere24f4852017-02-10 21:03:03 -0500406 SizeofSockaddrALG = 0x58
Matt Layherd67a3272017-03-07 20:18:38 -0500407 SizeofSockaddrVM = 0x10
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100408 SizeofLinger = 0x8
Tobias Klauser515fc152017-07-28 17:08:36 +0200409 SizeofIovec = 0x8
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100410 SizeofIPMreq = 0x8
411 SizeofIPMreqn = 0xc
412 SizeofIPv6Mreq = 0x14
Matt Layher7716a562017-07-28 11:08:13 -0400413 SizeofPacketMreq = 0x10
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100414 SizeofMsghdr = 0x1c
415 SizeofCmsghdr = 0xc
416 SizeofInet4Pktinfo = 0xc
417 SizeofInet6Pktinfo = 0x14
418 SizeofIPv6MTUInfo = 0x20
419 SizeofICMPv6Filter = 0x20
420 SizeofUcred = 0xc
421 SizeofTCPInfo = 0x68
422)
423
424const (
Tobias Klauser88d2dcc2018-02-13 14:11:00 +0100425 IFA_UNSPEC = 0x0
426 IFA_ADDRESS = 0x1
427 IFA_LOCAL = 0x2
428 IFA_LABEL = 0x3
429 IFA_BROADCAST = 0x4
430 IFA_ANYCAST = 0x5
431 IFA_CACHEINFO = 0x6
432 IFA_MULTICAST = 0x7
433 IFLA_UNSPEC = 0x0
434 IFLA_ADDRESS = 0x1
435 IFLA_BROADCAST = 0x2
436 IFLA_IFNAME = 0x3
437 IFLA_MTU = 0x4
438 IFLA_LINK = 0x5
439 IFLA_QDISC = 0x6
440 IFLA_STATS = 0x7
441 IFLA_COST = 0x8
442 IFLA_PRIORITY = 0x9
443 IFLA_MASTER = 0xa
444 IFLA_WIRELESS = 0xb
445 IFLA_PROTINFO = 0xc
446 IFLA_TXQLEN = 0xd
447 IFLA_MAP = 0xe
448 IFLA_WEIGHT = 0xf
449 IFLA_OPERSTATE = 0x10
450 IFLA_LINKMODE = 0x11
451 IFLA_LINKINFO = 0x12
452 IFLA_NET_NS_PID = 0x13
453 IFLA_IFALIAS = 0x14
454 IFLA_NUM_VF = 0x15
455 IFLA_VFINFO_LIST = 0x16
456 IFLA_STATS64 = 0x17
457 IFLA_VF_PORTS = 0x18
458 IFLA_PORT_SELF = 0x19
459 IFLA_AF_SPEC = 0x1a
460 IFLA_GROUP = 0x1b
461 IFLA_NET_NS_FD = 0x1c
462 IFLA_EXT_MASK = 0x1d
463 IFLA_PROMISCUITY = 0x1e
464 IFLA_NUM_TX_QUEUES = 0x1f
465 IFLA_NUM_RX_QUEUES = 0x20
466 IFLA_CARRIER = 0x21
467 IFLA_PHYS_PORT_ID = 0x22
468 IFLA_CARRIER_CHANGES = 0x23
469 IFLA_PHYS_SWITCH_ID = 0x24
470 IFLA_LINK_NETNSID = 0x25
471 IFLA_PHYS_PORT_NAME = 0x26
472 IFLA_PROTO_DOWN = 0x27
473 IFLA_GSO_MAX_SEGS = 0x28
474 IFLA_GSO_MAX_SIZE = 0x29
475 IFLA_PAD = 0x2a
476 IFLA_XDP = 0x2b
477 IFLA_EVENT = 0x2c
478 IFLA_NEW_NETNSID = 0x2d
479 IFLA_IF_NETNSID = 0x2e
Tobias Klauser3b87a422018-04-06 11:01:59 +0200480 IFLA_MAX = 0x31
Tobias Klauser88d2dcc2018-02-13 14:11:00 +0100481 RT_SCOPE_UNIVERSE = 0x0
482 RT_SCOPE_SITE = 0xc8
483 RT_SCOPE_LINK = 0xfd
484 RT_SCOPE_HOST = 0xfe
485 RT_SCOPE_NOWHERE = 0xff
486 RT_TABLE_UNSPEC = 0x0
487 RT_TABLE_COMPAT = 0xfc
488 RT_TABLE_DEFAULT = 0xfd
489 RT_TABLE_MAIN = 0xfe
490 RT_TABLE_LOCAL = 0xff
491 RT_TABLE_MAX = 0xffffffff
492 RTA_UNSPEC = 0x0
493 RTA_DST = 0x1
494 RTA_SRC = 0x2
495 RTA_IIF = 0x3
496 RTA_OIF = 0x4
497 RTA_GATEWAY = 0x5
498 RTA_PRIORITY = 0x6
499 RTA_PREFSRC = 0x7
500 RTA_METRICS = 0x8
501 RTA_MULTIPATH = 0x9
502 RTA_FLOW = 0xb
503 RTA_CACHEINFO = 0xc
504 RTA_TABLE = 0xf
505 RTN_UNSPEC = 0x0
506 RTN_UNICAST = 0x1
507 RTN_LOCAL = 0x2
508 RTN_BROADCAST = 0x3
509 RTN_ANYCAST = 0x4
510 RTN_MULTICAST = 0x5
511 RTN_BLACKHOLE = 0x6
512 RTN_UNREACHABLE = 0x7
513 RTN_PROHIBIT = 0x8
514 RTN_THROW = 0x9
515 RTN_NAT = 0xa
516 RTN_XRESOLVE = 0xb
517 RTNLGRP_NONE = 0x0
518 RTNLGRP_LINK = 0x1
519 RTNLGRP_NOTIFY = 0x2
520 RTNLGRP_NEIGH = 0x3
521 RTNLGRP_TC = 0x4
522 RTNLGRP_IPV4_IFADDR = 0x5
523 RTNLGRP_IPV4_MROUTE = 0x6
524 RTNLGRP_IPV4_ROUTE = 0x7
525 RTNLGRP_IPV4_RULE = 0x8
526 RTNLGRP_IPV6_IFADDR = 0x9
527 RTNLGRP_IPV6_MROUTE = 0xa
528 RTNLGRP_IPV6_ROUTE = 0xb
529 RTNLGRP_IPV6_IFINFO = 0xc
530 RTNLGRP_IPV6_PREFIX = 0x12
531 RTNLGRP_IPV6_RULE = 0x13
532 RTNLGRP_ND_USEROPT = 0x14
533 SizeofNlMsghdr = 0x10
534 SizeofNlMsgerr = 0x14
535 SizeofRtGenmsg = 0x1
536 SizeofNlAttr = 0x4
537 SizeofRtAttr = 0x4
538 SizeofIfInfomsg = 0x10
539 SizeofIfAddrmsg = 0x8
540 SizeofRtMsg = 0xc
541 SizeofRtNexthop = 0x8
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100542)
543
544type NlMsghdr struct {
545 Len uint32
546 Type uint16
547 Flags uint16
548 Seq uint32
549 Pid uint32
550}
551
552type NlMsgerr struct {
553 Error int32
554 Msg NlMsghdr
555}
556
557type RtGenmsg struct {
558 Family uint8
559}
560
561type NlAttr struct {
562 Len uint16
563 Type uint16
564}
565
566type RtAttr struct {
567 Len uint16
568 Type uint16
569}
570
571type IfInfomsg struct {
Tobias Klauser2281fa92018-04-13 16:10:16 +0200572 Family uint8
573 _ uint8
574 Type uint16
575 Index int32
576 Flags uint32
577 Change uint32
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100578}
579
580type IfAddrmsg struct {
581 Family uint8
582 Prefixlen uint8
583 Flags uint8
584 Scope uint8
585 Index uint32
586}
587
588type RtMsg struct {
589 Family uint8
590 Dst_len uint8
591 Src_len uint8
592 Tos uint8
593 Table uint8
594 Protocol uint8
595 Scope uint8
596 Type uint8
597 Flags uint32
598}
599
600type RtNexthop struct {
601 Len uint16
602 Flags uint8
603 Hops uint8
604 Ifindex int32
605}
606
607const (
608 SizeofSockFilter = 0x8
609 SizeofSockFprog = 0x8
610)
611
612type SockFilter struct {
613 Code uint16
614 Jt uint8
615 Jf uint8
616 K uint32
617}
618
619type SockFprog struct {
Garret Kellyaf9a2122018-01-24 11:33:53 -0500620 Len uint16
621 _ [2]byte
622 Filter *SockFilter
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100623}
624
625type InotifyEvent struct {
626 Wd int32
627 Mask uint32
628 Cookie uint32
629 Len uint32
630}
631
632const SizeofInotifyEvent = 0x10
633
634type PtraceRegs struct {
James Cowgill156c5a22017-05-12 16:43:35 +0100635 Regs [32]uint64
636 Lo uint64
637 Hi uint64
638 Epc uint64
639 Badvaddr uint64
640 Status uint64
641 Cause uint64
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100642}
643
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100644type FdSet struct {
645 Bits [32]int32
646}
647
648type Sysinfo_t struct {
649 Uptime int32
650 Loads [3]uint32
651 Totalram uint32
652 Freeram uint32
653 Sharedram uint32
654 Bufferram uint32
655 Totalswap uint32
656 Freeswap uint32
657 Procs uint16
658 Pad uint16
659 Totalhigh uint32
660 Freehigh uint32
661 Unit uint32
Tobias Klauser2281fa92018-04-13 16:10:16 +0200662 _ [8]int8
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100663}
664
665type Utsname struct {
Tobias Klauser4da75452017-10-30 12:35:14 +0100666 Sysname [65]byte
667 Nodename [65]byte
668 Release [65]byte
669 Version [65]byte
670 Machine [65]byte
671 Domainname [65]byte
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100672}
673
674type Ustat_t struct {
675 Tfree int32
676 Tinode uint32
677 Fname [6]int8
678 Fpack [6]int8
679}
680
681type EpollEvent struct {
682 Events uint32
683 PadFd int32
684 Fd int32
685 Pad int32
686}
687
688const (
Tobias Klauserfff93fa2018-01-12 10:54:32 +0100689 AT_EMPTY_PATH = 0x1000
690 AT_FDCWD = -0x64
691 AT_NO_AUTOMOUNT = 0x800
692 AT_REMOVEDIR = 0x200
693
694 AT_STATX_SYNC_AS_STAT = 0x0
695 AT_STATX_FORCE_SYNC = 0x2000
696 AT_STATX_DONT_SYNC = 0x4000
697
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100698 AT_SYMLINK_FOLLOW = 0x400
699 AT_SYMLINK_NOFOLLOW = 0x100
700)
701
702type PollFd struct {
703 Fd int32
704 Events int16
705 Revents int16
706}
707
708const (
709 POLLIN = 0x1
710 POLLPRI = 0x2
711 POLLOUT = 0x4
712 POLLRDHUP = 0x2000
713 POLLERR = 0x8
714 POLLHUP = 0x10
715 POLLNVAL = 0x20
716)
717
718type Sigset_t struct {
Tobias Klauserb126b212018-04-16 12:06:24 +0200719 Val [32]uint32
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100720}
721
Matt Layhera55a7602017-05-23 22:50:34 -0400722const RNDGETENTCNT = 0x40045200
723
Tobias Klauser73973442017-07-07 13:51:12 +0200724const PERF_IOC_FLAG_GROUP = 0x1
725
Vladimir Stefanovic478fcf52016-12-05 16:46:50 +0100726type Termios struct {
727 Iflag uint32
728 Oflag uint32
729 Cflag uint32
730 Lflag uint32
731 Line uint8
732 Cc [23]uint8
733 Ispeed uint32
734 Ospeed uint32
735}
Tobias Klausercd2c2762017-07-17 12:05:24 +0200736
737type Winsize struct {
738 Row uint16
739 Col uint16
740 Xpixel uint16
741 Ypixel uint16
742}
Matt Layher22e23b72017-08-25 11:04:33 -0400743
744type Taskstats struct {
745 Version uint16
Garret Kellyaf9a2122018-01-24 11:33:53 -0500746 _ [2]byte
Matt Layher22e23b72017-08-25 11:04:33 -0400747 Ac_exitcode uint32
748 Ac_flag uint8
749 Ac_nice uint8
Garret Kellyaf9a2122018-01-24 11:33:53 -0500750 _ [6]byte
Matt Layher22e23b72017-08-25 11:04:33 -0400751 Cpu_count uint64
752 Cpu_delay_total uint64
753 Blkio_count uint64
754 Blkio_delay_total uint64
755 Swapin_count uint64
756 Swapin_delay_total uint64
757 Cpu_run_real_total uint64
758 Cpu_run_virtual_total uint64
759 Ac_comm [32]int8
760 Ac_sched uint8
761 Ac_pad [3]uint8
Garret Kellyaf9a2122018-01-24 11:33:53 -0500762 _ [4]byte
Matt Layher22e23b72017-08-25 11:04:33 -0400763 Ac_uid uint32
764 Ac_gid uint32
765 Ac_pid uint32
766 Ac_ppid uint32
767 Ac_btime uint32
Garret Kellyaf9a2122018-01-24 11:33:53 -0500768 _ [4]byte
Matt Layher22e23b72017-08-25 11:04:33 -0400769 Ac_etime uint64
770 Ac_utime uint64
771 Ac_stime uint64
772 Ac_minflt uint64
773 Ac_majflt uint64
774 Coremem uint64
775 Virtmem uint64
776 Hiwater_rss uint64
777 Hiwater_vm uint64
778 Read_char uint64
779 Write_char uint64
780 Read_syscalls uint64
781 Write_syscalls uint64
782 Read_bytes uint64
783 Write_bytes uint64
784 Cancelled_write_bytes uint64
785 Nvcsw uint64
786 Nivcsw uint64
787 Ac_utimescaled uint64
788 Ac_stimescaled uint64
789 Cpu_scaled_run_real_total uint64
790 Freepages_count uint64
791 Freepages_delay_total uint64
792}
Matt Layher2d6f6f82017-08-25 14:47:02 -0400793
794const (
795 TASKSTATS_CMD_UNSPEC = 0x0
796 TASKSTATS_CMD_GET = 0x1
797 TASKSTATS_CMD_NEW = 0x2
798 TASKSTATS_TYPE_UNSPEC = 0x0
799 TASKSTATS_TYPE_PID = 0x1
800 TASKSTATS_TYPE_TGID = 0x2
801 TASKSTATS_TYPE_STATS = 0x3
802 TASKSTATS_TYPE_AGGR_PID = 0x4
803 TASKSTATS_TYPE_AGGR_TGID = 0x5
804 TASKSTATS_TYPE_NULL = 0x6
805 TASKSTATS_CMD_ATTR_UNSPEC = 0x0
806 TASKSTATS_CMD_ATTR_PID = 0x1
807 TASKSTATS_CMD_ATTR_TGID = 0x2
808 TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
809 TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
810)
Matt Layherab9e3642017-08-29 10:47:16 -0400811
Matt Layherb9cf5f92018-01-09 11:40:16 -0500812type CGroupStats struct {
813 Sleeping uint64
814 Running uint64
815 Stopped uint64
816 Uninterruptible uint64
817 Io_wait uint64
818}
819
820const (
821 CGROUPSTATS_CMD_UNSPEC = 0x3
822 CGROUPSTATS_CMD_GET = 0x4
823 CGROUPSTATS_CMD_NEW = 0x5
824 CGROUPSTATS_TYPE_UNSPEC = 0x0
825 CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
826 CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0
827 CGROUPSTATS_CMD_ATTR_FD = 0x1
828)
829
Matt Layherab9e3642017-08-29 10:47:16 -0400830type Genlmsghdr struct {
831 Cmd uint8
832 Version uint8
833 Reserved uint16
834}
835
836const (
837 CTRL_CMD_UNSPEC = 0x0
838 CTRL_CMD_NEWFAMILY = 0x1
839 CTRL_CMD_DELFAMILY = 0x2
840 CTRL_CMD_GETFAMILY = 0x3
841 CTRL_CMD_NEWOPS = 0x4
842 CTRL_CMD_DELOPS = 0x5
843 CTRL_CMD_GETOPS = 0x6
844 CTRL_CMD_NEWMCAST_GRP = 0x7
845 CTRL_CMD_DELMCAST_GRP = 0x8
846 CTRL_CMD_GETMCAST_GRP = 0x9
847 CTRL_ATTR_UNSPEC = 0x0
848 CTRL_ATTR_FAMILY_ID = 0x1
849 CTRL_ATTR_FAMILY_NAME = 0x2
850 CTRL_ATTR_VERSION = 0x3
851 CTRL_ATTR_HDRSIZE = 0x4
852 CTRL_ATTR_MAXATTR = 0x5
853 CTRL_ATTR_OPS = 0x6
854 CTRL_ATTR_MCAST_GROUPS = 0x7
855 CTRL_ATTR_OP_UNSPEC = 0x0
856 CTRL_ATTR_OP_ID = 0x1
857 CTRL_ATTR_OP_FLAGS = 0x2
858 CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
859 CTRL_ATTR_MCAST_GRP_NAME = 0x1
860 CTRL_ATTR_MCAST_GRP_ID = 0x2
861)
Tobias Klauser12d9d5b2018-01-02 15:27:15 +0100862
863type cpuMask uint32
864
865const (
866 _CPU_SETSIZE = 0x400
867 _NCPUBITS = 0x20
868)
Garret Kellyef802242018-01-11 08:58:01 -0500869
870const (
871 BDADDR_BREDR = 0x0
872 BDADDR_LE_PUBLIC = 0x1
873 BDADDR_LE_RANDOM = 0x2
874)
Adam Sindelarf6f35292018-04-11 13:57:14 +0200875
Adam Sindelar2f57af42018-04-09 13:02:03 +0200876type PerfEventAttr struct {
877 Type uint32
878 Size uint32
879 Config uint64
880 Sample uint64
881 Sample_type uint64
882 Read_format uint64
883 Bits uint64
884 Wakeup uint32
885 Bp_type uint32
886 Ext1 uint64
887 Ext2 uint64
888 Branch_sample_type uint64
889 Sample_regs_user uint64
890 Sample_stack_user uint32
891 Clockid int32
892 Sample_regs_intr uint64
893 Aux_watermark uint32
894 _ uint32
895}
896
897type PerfEventMmapPage struct {
898 Version uint32
899 Compat_version uint32
900 Lock uint32
901 Index uint32
902 Offset int64
903 Time_enabled uint64
904 Time_running uint64
905 Capabilities uint64
906 Pmc_width uint16
907 Time_shift uint16
908 Time_mult uint32
909 Time_offset uint64
910 Time_zero uint64
911 Size uint32
912 _ [948]uint8
913 Data_head uint64
914 Data_tail uint64
915 Data_offset uint64
916 Data_size uint64
917 Aux_head uint64
918 Aux_tail uint64
919 Aux_offset uint64
920 Aux_size uint64
921}
922
923const (
924 PerfBitDisabled uint64 = CBitFieldMaskBit0
925 PerfBitInherit = CBitFieldMaskBit1
926 PerfBitPinned = CBitFieldMaskBit2
927 PerfBitExclusive = CBitFieldMaskBit3
928 PerfBitExcludeUser = CBitFieldMaskBit4
929 PerfBitExcludeKernel = CBitFieldMaskBit5
930 PerfBitExcludeHv = CBitFieldMaskBit6
931 PerfBitExcludeIdle = CBitFieldMaskBit7
932 PerfBitMmap = CBitFieldMaskBit8
933 PerfBitComm = CBitFieldMaskBit9
934 PerfBitFreq = CBitFieldMaskBit10
935 PerfBitInheritStat = CBitFieldMaskBit11
936 PerfBitEnableOnExec = CBitFieldMaskBit12
937 PerfBitTask = CBitFieldMaskBit13
938 PerfBitWatermark = CBitFieldMaskBit14
939 PerfBitPreciseIPBit1 = CBitFieldMaskBit15
940 PerfBitPreciseIPBit2 = CBitFieldMaskBit16
941 PerfBitMmapData = CBitFieldMaskBit17
942 PerfBitSampleIDAll = CBitFieldMaskBit18
943 PerfBitExcludeHost = CBitFieldMaskBit19
944 PerfBitExcludeGuest = CBitFieldMaskBit20
945 PerfBitExcludeCallchainKernel = CBitFieldMaskBit21
946 PerfBitExcludeCallchainUser = CBitFieldMaskBit22
947 PerfBitMmap2 = CBitFieldMaskBit23
948 PerfBitCommExec = CBitFieldMaskBit24
949 PerfBitUseClockID = CBitFieldMaskBit25
950 PerfBitContextSwitch = CBitFieldMaskBit26
951)
952
953const (
954 PERF_TYPE_HARDWARE = 0x0
955 PERF_TYPE_SOFTWARE = 0x1
956 PERF_TYPE_TRACEPOINT = 0x2
957 PERF_TYPE_HW_CACHE = 0x3
958 PERF_TYPE_RAW = 0x4
959 PERF_TYPE_BREAKPOINT = 0x5
960
961 PERF_COUNT_HW_CPU_CYCLES = 0x0
962 PERF_COUNT_HW_INSTRUCTIONS = 0x1
963 PERF_COUNT_HW_CACHE_REFERENCES = 0x2
964 PERF_COUNT_HW_CACHE_MISSES = 0x3
965 PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4
966 PERF_COUNT_HW_BRANCH_MISSES = 0x5
967 PERF_COUNT_HW_BUS_CYCLES = 0x6
968 PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
969 PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8
970 PERF_COUNT_HW_REF_CPU_CYCLES = 0x9
971
972 PERF_COUNT_HW_CACHE_L1D = 0x0
973 PERF_COUNT_HW_CACHE_L1I = 0x1
974 PERF_COUNT_HW_CACHE_LL = 0x2
975 PERF_COUNT_HW_CACHE_DTLB = 0x3
976 PERF_COUNT_HW_CACHE_ITLB = 0x4
977 PERF_COUNT_HW_CACHE_BPU = 0x5
978 PERF_COUNT_HW_CACHE_NODE = 0x6
979
980 PERF_COUNT_HW_CACHE_OP_READ = 0x0
981 PERF_COUNT_HW_CACHE_OP_WRITE = 0x1
982 PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
983
984 PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
985 PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1
986
987 PERF_COUNT_SW_CPU_CLOCK = 0x0
988 PERF_COUNT_SW_TASK_CLOCK = 0x1
989 PERF_COUNT_SW_PAGE_FAULTS = 0x2
990 PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
991 PERF_COUNT_SW_CPU_MIGRATIONS = 0x4
992 PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5
993 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6
994 PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
995 PERF_COUNT_SW_EMULATION_FAULTS = 0x8
996 PERF_COUNT_SW_DUMMY = 0x9
997
998 PERF_SAMPLE_IP = 0x1
999 PERF_SAMPLE_TID = 0x2
1000 PERF_SAMPLE_TIME = 0x4
1001 PERF_SAMPLE_ADDR = 0x8
1002 PERF_SAMPLE_READ = 0x10
1003 PERF_SAMPLE_CALLCHAIN = 0x20
1004 PERF_SAMPLE_ID = 0x40
1005 PERF_SAMPLE_CPU = 0x80
1006 PERF_SAMPLE_PERIOD = 0x100
1007 PERF_SAMPLE_STREAM_ID = 0x200
1008 PERF_SAMPLE_RAW = 0x400
1009 PERF_SAMPLE_BRANCH_STACK = 0x800
1010
1011 PERF_SAMPLE_BRANCH_USER = 0x1
1012 PERF_SAMPLE_BRANCH_KERNEL = 0x2
1013 PERF_SAMPLE_BRANCH_HV = 0x4
1014 PERF_SAMPLE_BRANCH_ANY = 0x8
1015 PERF_SAMPLE_BRANCH_ANY_CALL = 0x10
1016 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
1017 PERF_SAMPLE_BRANCH_IND_CALL = 0x40
1018
1019 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
1020 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
1021 PERF_FORMAT_ID = 0x4
1022 PERF_FORMAT_GROUP = 0x8
1023
1024 PERF_RECORD_MMAP = 0x1
1025 PERF_RECORD_LOST = 0x2
1026 PERF_RECORD_COMM = 0x3
1027 PERF_RECORD_EXIT = 0x4
1028 PERF_RECORD_THROTTLE = 0x5
1029 PERF_RECORD_UNTHROTTLE = 0x6
1030 PERF_RECORD_FORK = 0x7
1031 PERF_RECORD_READ = 0x8
1032 PERF_RECORD_SAMPLE = 0x9
1033
1034 PERF_CONTEXT_HV = -0x20
1035 PERF_CONTEXT_KERNEL = -0x80
1036 PERF_CONTEXT_USER = -0x200
1037
1038 PERF_CONTEXT_GUEST = -0x800
1039 PERF_CONTEXT_GUEST_KERNEL = -0x880
1040 PERF_CONTEXT_GUEST_USER = -0xa00
1041
1042 PERF_FLAG_FD_NO_GROUP = 0x1
1043 PERF_FLAG_FD_OUTPUT = 0x2
1044 PERF_FLAG_PID_CGROUP = 0x4
1045)
1046
Adam Sindelarf6f35292018-04-11 13:57:14 +02001047const (
1048 CBitFieldMaskBit0 = 0x1
1049 CBitFieldMaskBit1 = 0x2
1050 CBitFieldMaskBit2 = 0x4
1051 CBitFieldMaskBit3 = 0x8
1052 CBitFieldMaskBit4 = 0x10
1053 CBitFieldMaskBit5 = 0x20
1054 CBitFieldMaskBit6 = 0x40
1055 CBitFieldMaskBit7 = 0x80
1056 CBitFieldMaskBit8 = 0x100
1057 CBitFieldMaskBit9 = 0x200
1058 CBitFieldMaskBit10 = 0x400
1059 CBitFieldMaskBit11 = 0x800
1060 CBitFieldMaskBit12 = 0x1000
1061 CBitFieldMaskBit13 = 0x2000
1062 CBitFieldMaskBit14 = 0x4000
1063 CBitFieldMaskBit15 = 0x8000
1064 CBitFieldMaskBit16 = 0x10000
1065 CBitFieldMaskBit17 = 0x20000
1066 CBitFieldMaskBit18 = 0x40000
1067 CBitFieldMaskBit19 = 0x80000
1068 CBitFieldMaskBit20 = 0x100000
1069 CBitFieldMaskBit21 = 0x200000
1070 CBitFieldMaskBit22 = 0x400000
1071 CBitFieldMaskBit23 = 0x800000
1072 CBitFieldMaskBit24 = 0x1000000
1073 CBitFieldMaskBit25 = 0x2000000
1074 CBitFieldMaskBit26 = 0x4000000
1075 CBitFieldMaskBit27 = 0x8000000
1076 CBitFieldMaskBit28 = 0x10000000
1077 CBitFieldMaskBit29 = 0x20000000
1078 CBitFieldMaskBit30 = 0x40000000
1079 CBitFieldMaskBit31 = 0x80000000
1080 CBitFieldMaskBit32 = 0x100000000
1081 CBitFieldMaskBit33 = 0x200000000
1082 CBitFieldMaskBit34 = 0x400000000
1083 CBitFieldMaskBit35 = 0x800000000
1084 CBitFieldMaskBit36 = 0x1000000000
1085 CBitFieldMaskBit37 = 0x2000000000
1086 CBitFieldMaskBit38 = 0x4000000000
1087 CBitFieldMaskBit39 = 0x8000000000
1088 CBitFieldMaskBit40 = 0x10000000000
1089 CBitFieldMaskBit41 = 0x20000000000
1090 CBitFieldMaskBit42 = 0x40000000000
1091 CBitFieldMaskBit43 = 0x80000000000
1092 CBitFieldMaskBit44 = 0x100000000000
1093 CBitFieldMaskBit45 = 0x200000000000
1094 CBitFieldMaskBit46 = 0x400000000000
1095 CBitFieldMaskBit47 = 0x800000000000
1096 CBitFieldMaskBit48 = 0x1000000000000
1097 CBitFieldMaskBit49 = 0x2000000000000
1098 CBitFieldMaskBit50 = 0x4000000000000
1099 CBitFieldMaskBit51 = 0x8000000000000
1100 CBitFieldMaskBit52 = 0x10000000000000
1101 CBitFieldMaskBit53 = 0x20000000000000
1102 CBitFieldMaskBit54 = 0x40000000000000
1103 CBitFieldMaskBit55 = 0x80000000000000
1104 CBitFieldMaskBit56 = 0x100000000000000
1105 CBitFieldMaskBit57 = 0x200000000000000
1106 CBitFieldMaskBit58 = 0x400000000000000
1107 CBitFieldMaskBit59 = 0x800000000000000
1108 CBitFieldMaskBit60 = 0x1000000000000000
1109 CBitFieldMaskBit61 = 0x2000000000000000
1110 CBitFieldMaskBit62 = 0x4000000000000000
1111 CBitFieldMaskBit63 = 0x8000000000000000
1112)
Matt Layher9b006092018-04-18 13:57:21 -04001113
1114type SockaddrStorage struct {
1115 Family uint16
1116 _ [122]int8
1117 _ uint32
1118}
1119
1120type TCPMD5Sig struct {
1121 Addr SockaddrStorage
1122 Flags uint8
1123 Prefixlen uint8
1124 Keylen uint16
1125 _ uint32
1126 Key [80]uint8
1127}
Matt Layher79b0c682018-04-18 17:20:05 -04001128
1129type HDDriveCmdHdr struct {
1130 Command uint8
1131 Number uint8
1132 Feature uint8
1133 Count uint8
1134}
1135
1136type HDGeometry struct {
1137 Heads uint8
1138 Sectors uint8
1139 Cylinders uint16
1140 Start uint32
1141}
1142
1143type HDDriveID struct {
1144 Config uint16
1145 Cyls uint16
1146 Reserved2 uint16
1147 Heads uint16
1148 Track_bytes uint16
1149 Sector_bytes uint16
1150 Sectors uint16
1151 Vendor0 uint16
1152 Vendor1 uint16
1153 Vendor2 uint16
1154 Serial_no [20]uint8
1155 Buf_type uint16
1156 Buf_size uint16
1157 Ecc_bytes uint16
1158 Fw_rev [8]uint8
1159 Model [40]uint8
1160 Max_multsect uint8
1161 Vendor3 uint8
1162 Dword_io uint16
1163 Vendor4 uint8
1164 Capability uint8
1165 Reserved50 uint16
1166 Vendor5 uint8
1167 TPIO uint8
1168 Vendor6 uint8
1169 TDMA uint8
1170 Field_valid uint16
1171 Cur_cyls uint16
1172 Cur_heads uint16
1173 Cur_sectors uint16
1174 Cur_capacity0 uint16
1175 Cur_capacity1 uint16
1176 Multsect uint8
1177 Multsect_valid uint8
1178 Lba_capacity uint32
1179 Dma_1word uint16
1180 Dma_mword uint16
1181 Eide_pio_modes uint16
1182 Eide_dma_min uint16
1183 Eide_dma_time uint16
1184 Eide_pio uint16
1185 Eide_pio_iordy uint16
1186 Words69_70 [2]uint16
1187 Words71_74 [4]uint16
1188 Queue_depth uint16
1189 Words76_79 [4]uint16
1190 Major_rev_num uint16
1191 Minor_rev_num uint16
1192 Command_set_1 uint16
1193 Command_set_2 uint16
1194 Cfsse uint16
1195 Cfs_enable_1 uint16
1196 Cfs_enable_2 uint16
1197 Csf_default uint16
1198 Dma_ultra uint16
1199 Trseuc uint16
1200 TrsEuc uint16
1201 CurAPMvalues uint16
1202 Mprc uint16
1203 Hw_config uint16
1204 Acoustic uint16
1205 Msrqs uint16
1206 Sxfert uint16
1207 Sal uint16
1208 Spg uint32
1209 Lba_capacity_2 uint64
1210 Words104_125 [22]uint16
1211 Last_lun uint16
1212 Word127 uint16
1213 Dlf uint16
1214 Csfo uint16
1215 Words130_155 [26]uint16
1216 Word156 uint16
1217 Words157_159 [3]uint16
1218 Cfa_power uint16
1219 Words161_175 [15]uint16
1220 Words176_205 [30]uint16
1221 Words206_254 [49]uint16
1222 Integrity_word uint16
1223}
Tobias Klauser9950ad12018-05-11 10:07:35 +02001224
1225type Statfs_t struct {
1226 Type int32
1227 Bsize int32
1228 Frsize int32
1229 _ [4]byte
1230 Blocks uint64
1231 Bfree uint64
1232 Files uint64
1233 Ffree uint64
1234 Bavail uint64
1235 Fsid Fsid
1236 Namelen int32
1237 Flags int32
1238 Spare [5]int32
1239 _ [4]byte
1240}
1241
1242const (
1243 ST_MANDLOCK = 0x40
1244 ST_NOATIME = 0x400
1245 ST_NODEV = 0x4
1246 ST_NODIRATIME = 0x800
1247 ST_NOEXEC = 0x8
1248 ST_NOSUID = 0x2
1249 ST_RDONLY = 0x1
1250 ST_RELATIME = 0x1000
1251 ST_SYNCHRONOUS = 0x10
1252)
Tobias Klauser7c87d132018-05-14 09:31:37 +02001253
1254type TpacketHdr struct {
1255 Status uint32
1256 Len uint32
1257 Snaplen uint32
1258 Mac uint16
1259 Net uint16
1260 Sec uint32
1261 Usec uint32
1262}
1263
1264type Tpacket2Hdr struct {
1265 Status uint32
1266 Len uint32
1267 Snaplen uint32
1268 Mac uint16
1269 Net uint16
1270 Sec uint32
1271 Nsec uint32
1272 Vlan_tci uint16
1273 Vlan_tpid uint16
1274 _ [4]uint8
1275}
1276
1277type Tpacket3Hdr struct {
1278 Next_offset uint32
1279 Sec uint32
1280 Nsec uint32
1281 Snaplen uint32
1282 Len uint32
1283 Status uint32
1284 Mac uint16
1285 Net uint16
1286 Hv1 TpacketHdrVariant1
1287 _ [8]uint8
1288}
1289
1290type TpacketHdrVariant1 struct {
1291 Rxhash uint32
1292 Vlan_tci uint32
1293 Vlan_tpid uint16
1294 _ uint16
1295}
1296
1297type TpacketBlockDesc struct {
1298 Version uint32
1299 To_priv uint32
1300 Hdr [40]byte
1301}
1302
1303type TpacketReq struct {
1304 Block_size uint32
1305 Block_nr uint32
1306 Frame_size uint32
1307 Frame_nr uint32
1308}
1309
1310type TpacketReq3 struct {
1311 Block_size uint32
1312 Block_nr uint32
1313 Frame_size uint32
1314 Frame_nr uint32
1315 Retire_blk_tov uint32
1316 Sizeof_priv uint32
1317 Feature_req_word uint32
1318}
1319
1320type TpacketStats struct {
1321 Packets uint32
1322 Drops uint32
1323}
1324
1325type TpacketStatsV3 struct {
1326 Packets uint32
1327 Drops uint32
1328 Freeze_q_cnt uint32
1329}
1330
1331type TpacketAuxdata struct {
1332 Status uint32
1333 Len uint32
1334 Snaplen uint32
1335 Mac uint16
1336 Net uint16
1337 Vlan_tci uint16
1338 Vlan_tpid uint16
1339}
1340
1341const (
1342 TPACKET_V1 = 0x0
1343 TPACKET_V2 = 0x1
1344 TPACKET_V3 = 0x2
1345)
1346
1347const (
1348 SizeofTpacketHdr = 0x18
1349 SizeofTpacket2Hdr = 0x20
1350 SizeofTpacket3Hdr = 0x30
1351)
Michael Stapelberg31355382018-05-24 21:52:15 -07001352
1353const (
1354 NF_INET_PRE_ROUTING = 0x0
1355 NF_INET_LOCAL_IN = 0x1
1356 NF_INET_FORWARD = 0x2
1357 NF_INET_LOCAL_OUT = 0x3
1358 NF_INET_POST_ROUTING = 0x4
1359 NF_INET_NUMHOOKS = 0x5
1360)
1361
1362const (
1363 NF_NETDEV_INGRESS = 0x0
1364 NF_NETDEV_NUMHOOKS = 0x1
1365)
1366
1367const (
1368 NFPROTO_UNSPEC = 0x0
1369 NFPROTO_INET = 0x1
1370 NFPROTO_IPV4 = 0x2
1371 NFPROTO_ARP = 0x3
1372 NFPROTO_NETDEV = 0x5
1373 NFPROTO_BRIDGE = 0x7
1374 NFPROTO_IPV6 = 0xa
1375 NFPROTO_DECNET = 0xc
1376 NFPROTO_NUMPROTO = 0xd
1377)
1378
Tobias Klauserd4cedef2018-05-25 13:52:06 +02001379type Nfgenmsg struct {
Michael Stapelberg31355382018-05-24 21:52:15 -07001380 Nfgen_family uint8
1381 Version uint8
1382 Res_id uint16
1383}
1384
1385const (
1386 NFNL_BATCH_UNSPEC = 0x0
1387 NFNL_BATCH_GENID = 0x1
1388)
1389
1390const (
1391 NFT_REG_VERDICT = 0x0
1392 NFT_REG_1 = 0x1
1393 NFT_REG_2 = 0x2
1394 NFT_REG_3 = 0x3
1395 NFT_REG_4 = 0x4
1396 NFT_REG32_00 = 0x8
1397 NFT_REG32_01 = 0x9
1398 NFT_REG32_02 = 0xa
1399 NFT_REG32_03 = 0xb
1400 NFT_REG32_04 = 0xc
1401 NFT_REG32_05 = 0xd
1402 NFT_REG32_06 = 0xe
1403 NFT_REG32_07 = 0xf
1404 NFT_REG32_08 = 0x10
1405 NFT_REG32_09 = 0x11
1406 NFT_REG32_10 = 0x12
1407 NFT_REG32_11 = 0x13
1408 NFT_REG32_12 = 0x14
1409 NFT_REG32_13 = 0x15
1410 NFT_REG32_14 = 0x16
1411 NFT_REG32_15 = 0x17
1412 NFT_CONTINUE = -0x1
1413 NFT_BREAK = -0x2
1414 NFT_JUMP = -0x3
1415 NFT_GOTO = -0x4
1416 NFT_RETURN = -0x5
1417 NFT_MSG_NEWTABLE = 0x0
1418 NFT_MSG_GETTABLE = 0x1
1419 NFT_MSG_DELTABLE = 0x2
1420 NFT_MSG_NEWCHAIN = 0x3
1421 NFT_MSG_GETCHAIN = 0x4
1422 NFT_MSG_DELCHAIN = 0x5
1423 NFT_MSG_NEWRULE = 0x6
1424 NFT_MSG_GETRULE = 0x7
1425 NFT_MSG_DELRULE = 0x8
1426 NFT_MSG_NEWSET = 0x9
1427 NFT_MSG_GETSET = 0xa
1428 NFT_MSG_DELSET = 0xb
1429 NFT_MSG_NEWSETELEM = 0xc
1430 NFT_MSG_GETSETELEM = 0xd
1431 NFT_MSG_DELSETELEM = 0xe
1432 NFT_MSG_NEWGEN = 0xf
1433 NFT_MSG_GETGEN = 0x10
1434 NFT_MSG_TRACE = 0x11
1435 NFT_MSG_NEWOBJ = 0x12
1436 NFT_MSG_GETOBJ = 0x13
1437 NFT_MSG_DELOBJ = 0x14
1438 NFT_MSG_GETOBJ_RESET = 0x15
1439 NFT_MSG_MAX = 0x19
1440 NFTA_LIST_UNPEC = 0x0
1441 NFTA_LIST_ELEM = 0x1
1442 NFTA_HOOK_UNSPEC = 0x0
1443 NFTA_HOOK_HOOKNUM = 0x1
1444 NFTA_HOOK_PRIORITY = 0x2
1445 NFTA_HOOK_DEV = 0x3
1446 NFT_TABLE_F_DORMANT = 0x1
1447 NFTA_TABLE_UNSPEC = 0x0
1448 NFTA_TABLE_NAME = 0x1
1449 NFTA_TABLE_FLAGS = 0x2
1450 NFTA_TABLE_USE = 0x3
1451 NFTA_CHAIN_UNSPEC = 0x0
1452 NFTA_CHAIN_TABLE = 0x1
1453 NFTA_CHAIN_HANDLE = 0x2
1454 NFTA_CHAIN_NAME = 0x3
1455 NFTA_CHAIN_HOOK = 0x4
1456 NFTA_CHAIN_POLICY = 0x5
1457 NFTA_CHAIN_USE = 0x6
1458 NFTA_CHAIN_TYPE = 0x7
1459 NFTA_CHAIN_COUNTERS = 0x8
1460 NFTA_CHAIN_PAD = 0x9
1461 NFTA_RULE_UNSPEC = 0x0
1462 NFTA_RULE_TABLE = 0x1
1463 NFTA_RULE_CHAIN = 0x2
1464 NFTA_RULE_HANDLE = 0x3
1465 NFTA_RULE_EXPRESSIONS = 0x4
1466 NFTA_RULE_COMPAT = 0x5
1467 NFTA_RULE_POSITION = 0x6
1468 NFTA_RULE_USERDATA = 0x7
1469 NFTA_RULE_PAD = 0x8
1470 NFTA_RULE_ID = 0x9
1471 NFT_RULE_COMPAT_F_INV = 0x2
1472 NFT_RULE_COMPAT_F_MASK = 0x2
1473 NFTA_RULE_COMPAT_UNSPEC = 0x0
1474 NFTA_RULE_COMPAT_PROTO = 0x1
1475 NFTA_RULE_COMPAT_FLAGS = 0x2
1476 NFT_SET_ANONYMOUS = 0x1
1477 NFT_SET_CONSTANT = 0x2
1478 NFT_SET_INTERVAL = 0x4
1479 NFT_SET_MAP = 0x8
1480 NFT_SET_TIMEOUT = 0x10
1481 NFT_SET_EVAL = 0x20
1482 NFT_SET_OBJECT = 0x40
1483 NFT_SET_POL_PERFORMANCE = 0x0
1484 NFT_SET_POL_MEMORY = 0x1
1485 NFTA_SET_DESC_UNSPEC = 0x0
1486 NFTA_SET_DESC_SIZE = 0x1
1487 NFTA_SET_UNSPEC = 0x0
1488 NFTA_SET_TABLE = 0x1
1489 NFTA_SET_NAME = 0x2
1490 NFTA_SET_FLAGS = 0x3
1491 NFTA_SET_KEY_TYPE = 0x4
1492 NFTA_SET_KEY_LEN = 0x5
1493 NFTA_SET_DATA_TYPE = 0x6
1494 NFTA_SET_DATA_LEN = 0x7
1495 NFTA_SET_POLICY = 0x8
1496 NFTA_SET_DESC = 0x9
1497 NFTA_SET_ID = 0xa
1498 NFTA_SET_TIMEOUT = 0xb
1499 NFTA_SET_GC_INTERVAL = 0xc
1500 NFTA_SET_USERDATA = 0xd
1501 NFTA_SET_PAD = 0xe
1502 NFTA_SET_OBJ_TYPE = 0xf
1503 NFT_SET_ELEM_INTERVAL_END = 0x1
1504 NFTA_SET_ELEM_UNSPEC = 0x0
1505 NFTA_SET_ELEM_KEY = 0x1
1506 NFTA_SET_ELEM_DATA = 0x2
1507 NFTA_SET_ELEM_FLAGS = 0x3
1508 NFTA_SET_ELEM_TIMEOUT = 0x4
1509 NFTA_SET_ELEM_EXPIRATION = 0x5
1510 NFTA_SET_ELEM_USERDATA = 0x6
1511 NFTA_SET_ELEM_EXPR = 0x7
1512 NFTA_SET_ELEM_PAD = 0x8
1513 NFTA_SET_ELEM_OBJREF = 0x9
1514 NFTA_SET_ELEM_LIST_UNSPEC = 0x0
1515 NFTA_SET_ELEM_LIST_TABLE = 0x1
1516 NFTA_SET_ELEM_LIST_SET = 0x2
1517 NFTA_SET_ELEM_LIST_ELEMENTS = 0x3
1518 NFTA_SET_ELEM_LIST_SET_ID = 0x4
1519 NFT_DATA_VALUE = 0x0
1520 NFT_DATA_VERDICT = 0xffffff00
1521 NFTA_DATA_UNSPEC = 0x0
1522 NFTA_DATA_VALUE = 0x1
1523 NFTA_DATA_VERDICT = 0x2
1524 NFTA_VERDICT_UNSPEC = 0x0
1525 NFTA_VERDICT_CODE = 0x1
1526 NFTA_VERDICT_CHAIN = 0x2
1527 NFTA_EXPR_UNSPEC = 0x0
1528 NFTA_EXPR_NAME = 0x1
1529 NFTA_EXPR_DATA = 0x2
1530 NFTA_IMMEDIATE_UNSPEC = 0x0
1531 NFTA_IMMEDIATE_DREG = 0x1
1532 NFTA_IMMEDIATE_DATA = 0x2
1533 NFTA_BITWISE_UNSPEC = 0x0
1534 NFTA_BITWISE_SREG = 0x1
1535 NFTA_BITWISE_DREG = 0x2
1536 NFTA_BITWISE_LEN = 0x3
1537 NFTA_BITWISE_MASK = 0x4
1538 NFTA_BITWISE_XOR = 0x5
1539 NFT_BYTEORDER_NTOH = 0x0
1540 NFT_BYTEORDER_HTON = 0x1
1541 NFTA_BYTEORDER_UNSPEC = 0x0
1542 NFTA_BYTEORDER_SREG = 0x1
1543 NFTA_BYTEORDER_DREG = 0x2
1544 NFTA_BYTEORDER_OP = 0x3
1545 NFTA_BYTEORDER_LEN = 0x4
1546 NFTA_BYTEORDER_SIZE = 0x5
1547 NFT_CMP_EQ = 0x0
1548 NFT_CMP_NEQ = 0x1
1549 NFT_CMP_LT = 0x2
1550 NFT_CMP_LTE = 0x3
1551 NFT_CMP_GT = 0x4
1552 NFT_CMP_GTE = 0x5
1553 NFTA_CMP_UNSPEC = 0x0
1554 NFTA_CMP_SREG = 0x1
1555 NFTA_CMP_OP = 0x2
1556 NFTA_CMP_DATA = 0x3
1557 NFT_RANGE_EQ = 0x0
1558 NFT_RANGE_NEQ = 0x1
1559 NFTA_RANGE_UNSPEC = 0x0
1560 NFTA_RANGE_SREG = 0x1
1561 NFTA_RANGE_OP = 0x2
1562 NFTA_RANGE_FROM_DATA = 0x3
1563 NFTA_RANGE_TO_DATA = 0x4
1564 NFT_LOOKUP_F_INV = 0x1
1565 NFTA_LOOKUP_UNSPEC = 0x0
1566 NFTA_LOOKUP_SET = 0x1
1567 NFTA_LOOKUP_SREG = 0x2
1568 NFTA_LOOKUP_DREG = 0x3
1569 NFTA_LOOKUP_SET_ID = 0x4
1570 NFTA_LOOKUP_FLAGS = 0x5
1571 NFT_DYNSET_OP_ADD = 0x0
1572 NFT_DYNSET_OP_UPDATE = 0x1
1573 NFT_DYNSET_F_INV = 0x1
1574 NFTA_DYNSET_UNSPEC = 0x0
1575 NFTA_DYNSET_SET_NAME = 0x1
1576 NFTA_DYNSET_SET_ID = 0x2
1577 NFTA_DYNSET_OP = 0x3
1578 NFTA_DYNSET_SREG_KEY = 0x4
1579 NFTA_DYNSET_SREG_DATA = 0x5
1580 NFTA_DYNSET_TIMEOUT = 0x6
1581 NFTA_DYNSET_EXPR = 0x7
1582 NFTA_DYNSET_PAD = 0x8
1583 NFTA_DYNSET_FLAGS = 0x9
1584 NFT_PAYLOAD_LL_HEADER = 0x0
1585 NFT_PAYLOAD_NETWORK_HEADER = 0x1
1586 NFT_PAYLOAD_TRANSPORT_HEADER = 0x2
1587 NFT_PAYLOAD_CSUM_NONE = 0x0
1588 NFT_PAYLOAD_CSUM_INET = 0x1
1589 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1
1590 NFTA_PAYLOAD_UNSPEC = 0x0
1591 NFTA_PAYLOAD_DREG = 0x1
1592 NFTA_PAYLOAD_BASE = 0x2
1593 NFTA_PAYLOAD_OFFSET = 0x3
1594 NFTA_PAYLOAD_LEN = 0x4
1595 NFTA_PAYLOAD_SREG = 0x5
1596 NFTA_PAYLOAD_CSUM_TYPE = 0x6
1597 NFTA_PAYLOAD_CSUM_OFFSET = 0x7
1598 NFTA_PAYLOAD_CSUM_FLAGS = 0x8
1599 NFT_EXTHDR_F_PRESENT = 0x1
1600 NFT_EXTHDR_OP_IPV6 = 0x0
1601 NFT_EXTHDR_OP_TCPOPT = 0x1
1602 NFTA_EXTHDR_UNSPEC = 0x0
1603 NFTA_EXTHDR_DREG = 0x1
1604 NFTA_EXTHDR_TYPE = 0x2
1605 NFTA_EXTHDR_OFFSET = 0x3
1606 NFTA_EXTHDR_LEN = 0x4
1607 NFTA_EXTHDR_FLAGS = 0x5
1608 NFTA_EXTHDR_OP = 0x6
1609 NFTA_EXTHDR_SREG = 0x7
1610 NFT_META_LEN = 0x0
1611 NFT_META_PROTOCOL = 0x1
1612 NFT_META_PRIORITY = 0x2
1613 NFT_META_MARK = 0x3
1614 NFT_META_IIF = 0x4
1615 NFT_META_OIF = 0x5
1616 NFT_META_IIFNAME = 0x6
1617 NFT_META_OIFNAME = 0x7
1618 NFT_META_IIFTYPE = 0x8
1619 NFT_META_OIFTYPE = 0x9
1620 NFT_META_SKUID = 0xa
1621 NFT_META_SKGID = 0xb
1622 NFT_META_NFTRACE = 0xc
1623 NFT_META_RTCLASSID = 0xd
1624 NFT_META_SECMARK = 0xe
1625 NFT_META_NFPROTO = 0xf
1626 NFT_META_L4PROTO = 0x10
1627 NFT_META_BRI_IIFNAME = 0x11
1628 NFT_META_BRI_OIFNAME = 0x12
1629 NFT_META_PKTTYPE = 0x13
1630 NFT_META_CPU = 0x14
1631 NFT_META_IIFGROUP = 0x15
1632 NFT_META_OIFGROUP = 0x16
1633 NFT_META_CGROUP = 0x17
1634 NFT_META_PRANDOM = 0x18
1635 NFT_RT_CLASSID = 0x0
1636 NFT_RT_NEXTHOP4 = 0x1
1637 NFT_RT_NEXTHOP6 = 0x2
1638 NFT_RT_TCPMSS = 0x3
1639 NFT_HASH_JENKINS = 0x0
1640 NFT_HASH_SYM = 0x1
1641 NFTA_HASH_UNSPEC = 0x0
1642 NFTA_HASH_SREG = 0x1
1643 NFTA_HASH_DREG = 0x2
1644 NFTA_HASH_LEN = 0x3
1645 NFTA_HASH_MODULUS = 0x4
1646 NFTA_HASH_SEED = 0x5
1647 NFTA_HASH_OFFSET = 0x6
1648 NFTA_HASH_TYPE = 0x7
1649 NFTA_META_UNSPEC = 0x0
1650 NFTA_META_DREG = 0x1
1651 NFTA_META_KEY = 0x2
1652 NFTA_META_SREG = 0x3
1653 NFTA_RT_UNSPEC = 0x0
1654 NFTA_RT_DREG = 0x1
1655 NFTA_RT_KEY = 0x2
1656 NFT_CT_STATE = 0x0
1657 NFT_CT_DIRECTION = 0x1
1658 NFT_CT_STATUS = 0x2
1659 NFT_CT_MARK = 0x3
1660 NFT_CT_SECMARK = 0x4
1661 NFT_CT_EXPIRATION = 0x5
1662 NFT_CT_HELPER = 0x6
1663 NFT_CT_L3PROTOCOL = 0x7
1664 NFT_CT_SRC = 0x8
1665 NFT_CT_DST = 0x9
1666 NFT_CT_PROTOCOL = 0xa
1667 NFT_CT_PROTO_SRC = 0xb
1668 NFT_CT_PROTO_DST = 0xc
1669 NFT_CT_LABELS = 0xd
1670 NFT_CT_PKTS = 0xe
1671 NFT_CT_BYTES = 0xf
1672 NFT_CT_AVGPKT = 0x10
1673 NFT_CT_ZONE = 0x11
1674 NFT_CT_EVENTMASK = 0x12
1675 NFTA_CT_UNSPEC = 0x0
1676 NFTA_CT_DREG = 0x1
1677 NFTA_CT_KEY = 0x2
1678 NFTA_CT_DIRECTION = 0x3
1679 NFTA_CT_SREG = 0x4
1680 NFT_LIMIT_PKTS = 0x0
1681 NFT_LIMIT_PKT_BYTES = 0x1
1682 NFT_LIMIT_F_INV = 0x1
1683 NFTA_LIMIT_UNSPEC = 0x0
1684 NFTA_LIMIT_RATE = 0x1
1685 NFTA_LIMIT_UNIT = 0x2
1686 NFTA_LIMIT_BURST = 0x3
1687 NFTA_LIMIT_TYPE = 0x4
1688 NFTA_LIMIT_FLAGS = 0x5
1689 NFTA_LIMIT_PAD = 0x6
1690 NFTA_COUNTER_UNSPEC = 0x0
1691 NFTA_COUNTER_BYTES = 0x1
1692 NFTA_COUNTER_PACKETS = 0x2
1693 NFTA_COUNTER_PAD = 0x3
1694 NFTA_LOG_UNSPEC = 0x0
1695 NFTA_LOG_GROUP = 0x1
1696 NFTA_LOG_PREFIX = 0x2
1697 NFTA_LOG_SNAPLEN = 0x3
1698 NFTA_LOG_QTHRESHOLD = 0x4
1699 NFTA_LOG_LEVEL = 0x5
1700 NFTA_LOG_FLAGS = 0x6
1701 NFTA_QUEUE_UNSPEC = 0x0
1702 NFTA_QUEUE_NUM = 0x1
1703 NFTA_QUEUE_TOTAL = 0x2
1704 NFTA_QUEUE_FLAGS = 0x3
1705 NFTA_QUEUE_SREG_QNUM = 0x4
1706 NFT_QUOTA_F_INV = 0x1
1707 NFT_QUOTA_F_DEPLETED = 0x2
1708 NFTA_QUOTA_UNSPEC = 0x0
1709 NFTA_QUOTA_BYTES = 0x1
1710 NFTA_QUOTA_FLAGS = 0x2
1711 NFTA_QUOTA_PAD = 0x3
1712 NFTA_QUOTA_CONSUMED = 0x4
1713 NFT_REJECT_ICMP_UNREACH = 0x0
1714 NFT_REJECT_TCP_RST = 0x1
1715 NFT_REJECT_ICMPX_UNREACH = 0x2
1716 NFT_REJECT_ICMPX_NO_ROUTE = 0x0
1717 NFT_REJECT_ICMPX_PORT_UNREACH = 0x1
1718 NFT_REJECT_ICMPX_HOST_UNREACH = 0x2
1719 NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
1720 NFTA_REJECT_UNSPEC = 0x0
1721 NFTA_REJECT_TYPE = 0x1
1722 NFTA_REJECT_ICMP_CODE = 0x2
1723 NFT_NAT_SNAT = 0x0
1724 NFT_NAT_DNAT = 0x1
1725 NFTA_NAT_UNSPEC = 0x0
1726 NFTA_NAT_TYPE = 0x1
1727 NFTA_NAT_FAMILY = 0x2
1728 NFTA_NAT_REG_ADDR_MIN = 0x3
1729 NFTA_NAT_REG_ADDR_MAX = 0x4
1730 NFTA_NAT_REG_PROTO_MIN = 0x5
1731 NFTA_NAT_REG_PROTO_MAX = 0x6
1732 NFTA_NAT_FLAGS = 0x7
1733 NFTA_MASQ_UNSPEC = 0x0
1734 NFTA_MASQ_FLAGS = 0x1
1735 NFTA_MASQ_REG_PROTO_MIN = 0x2
1736 NFTA_MASQ_REG_PROTO_MAX = 0x3
1737 NFTA_REDIR_UNSPEC = 0x0
1738 NFTA_REDIR_REG_PROTO_MIN = 0x1
1739 NFTA_REDIR_REG_PROTO_MAX = 0x2
1740 NFTA_REDIR_FLAGS = 0x3
1741 NFTA_DUP_UNSPEC = 0x0
1742 NFTA_DUP_SREG_ADDR = 0x1
1743 NFTA_DUP_SREG_DEV = 0x2
1744 NFTA_FWD_UNSPEC = 0x0
1745 NFTA_FWD_SREG_DEV = 0x1
1746 NFTA_OBJREF_UNSPEC = 0x0
1747 NFTA_OBJREF_IMM_TYPE = 0x1
1748 NFTA_OBJREF_IMM_NAME = 0x2
1749 NFTA_OBJREF_SET_SREG = 0x3
1750 NFTA_OBJREF_SET_NAME = 0x4
1751 NFTA_OBJREF_SET_ID = 0x5
1752 NFTA_GEN_UNSPEC = 0x0
1753 NFTA_GEN_ID = 0x1
1754 NFTA_GEN_PROC_PID = 0x2
1755 NFTA_GEN_PROC_NAME = 0x3
1756 NFTA_FIB_UNSPEC = 0x0
1757 NFTA_FIB_DREG = 0x1
1758 NFTA_FIB_RESULT = 0x2
1759 NFTA_FIB_FLAGS = 0x3
1760 NFT_FIB_RESULT_UNSPEC = 0x0
1761 NFT_FIB_RESULT_OIF = 0x1
1762 NFT_FIB_RESULT_OIFNAME = 0x2
1763 NFT_FIB_RESULT_ADDRTYPE = 0x3
1764 NFTA_FIB_F_SADDR = 0x1
1765 NFTA_FIB_F_DADDR = 0x2
1766 NFTA_FIB_F_MARK = 0x4
1767 NFTA_FIB_F_IIF = 0x8
1768 NFTA_FIB_F_OIF = 0x10
1769 NFTA_FIB_F_PRESENT = 0x20
1770 NFTA_CT_HELPER_UNSPEC = 0x0
1771 NFTA_CT_HELPER_NAME = 0x1
1772 NFTA_CT_HELPER_L3PROTO = 0x2
1773 NFTA_CT_HELPER_L4PROTO = 0x3
1774 NFTA_OBJ_UNSPEC = 0x0
1775 NFTA_OBJ_TABLE = 0x1
1776 NFTA_OBJ_NAME = 0x2
1777 NFTA_OBJ_TYPE = 0x3
1778 NFTA_OBJ_DATA = 0x4
1779 NFTA_OBJ_USE = 0x5
1780 NFTA_TRACE_UNSPEC = 0x0
1781 NFTA_TRACE_TABLE = 0x1
1782 NFTA_TRACE_CHAIN = 0x2
1783 NFTA_TRACE_RULE_HANDLE = 0x3
1784 NFTA_TRACE_TYPE = 0x4
1785 NFTA_TRACE_VERDICT = 0x5
1786 NFTA_TRACE_ID = 0x6
1787 NFTA_TRACE_LL_HEADER = 0x7
1788 NFTA_TRACE_NETWORK_HEADER = 0x8
1789 NFTA_TRACE_TRANSPORT_HEADER = 0x9
1790 NFTA_TRACE_IIF = 0xa
1791 NFTA_TRACE_IIFTYPE = 0xb
1792 NFTA_TRACE_OIF = 0xc
1793 NFTA_TRACE_OIFTYPE = 0xd
1794 NFTA_TRACE_MARK = 0xe
1795 NFTA_TRACE_NFPROTO = 0xf
1796 NFTA_TRACE_POLICY = 0x10
1797 NFTA_TRACE_PAD = 0x11
1798 NFT_TRACETYPE_UNSPEC = 0x0
1799 NFT_TRACETYPE_POLICY = 0x1
1800 NFT_TRACETYPE_RETURN = 0x2
1801 NFT_TRACETYPE_RULE = 0x3
1802 NFTA_NG_UNSPEC = 0x0
1803 NFTA_NG_DREG = 0x1
1804 NFTA_NG_MODULUS = 0x2
1805 NFTA_NG_TYPE = 0x3
1806 NFTA_NG_OFFSET = 0x4
1807 NFT_NG_INCREMENTAL = 0x0
1808 NFT_NG_RANDOM = 0x1
1809)