blob: 91cbbb74c99f71acfc0b4b63ff44fc273fb7ef9f [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001// 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
4// +build arm,linux
5
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
55 _ [44]byte
56}
57
Matteo Scandolof9d43412021-01-12 11:11:34 -080058const (
59 TIME_OK = 0x0
60 TIME_INS = 0x1
61 TIME_DEL = 0x2
62 TIME_OOP = 0x3
63 TIME_WAIT = 0x4
64 TIME_ERROR = 0x5
65 TIME_BAD = 0x5
66)
67
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -070068type Time_t int32
69
70type Tms struct {
71 Utime int32
72 Stime int32
73 Cutime int32
74 Cstime int32
75}
76
77type Utimbuf struct {
78 Actime int32
79 Modtime int32
80}
81
82type Rusage struct {
83 Utime Timeval
84 Stime Timeval
85 Maxrss int32
86 Ixrss int32
87 Idrss int32
88 Isrss int32
89 Minflt int32
90 Majflt int32
91 Nswap int32
92 Inblock int32
93 Oublock int32
94 Msgsnd int32
95 Msgrcv int32
96 Nsignals int32
97 Nvcsw int32
98 Nivcsw int32
99}
100
101type Rlimit struct {
102 Cur uint64
103 Max uint64
104}
105
106type _Gid_t uint32
107
108type Stat_t struct {
109 Dev uint64
110 _ uint16
111 _ uint32
112 Mode uint32
113 Nlink uint32
114 Uid uint32
115 Gid uint32
116 Rdev uint64
117 _ uint16
118 _ [4]byte
119 Size int64
120 Blksize int32
121 _ [4]byte
122 Blocks int64
123 Atim Timespec
124 Mtim Timespec
125 Ctim Timespec
126 Ino uint64
127}
128
129type StatxTimestamp struct {
130 Sec int64
131 Nsec uint32
132 _ int32
133}
134
135type Statx_t struct {
136 Mask uint32
137 Blksize uint32
138 Attributes uint64
139 Nlink uint32
140 Uid uint32
141 Gid uint32
142 Mode uint16
143 _ [1]uint16
144 Ino uint64
145 Size uint64
146 Blocks uint64
147 Attributes_mask uint64
148 Atime StatxTimestamp
149 Btime StatxTimestamp
150 Ctime StatxTimestamp
151 Mtime StatxTimestamp
152 Rdev_major uint32
153 Rdev_minor uint32
154 Dev_major uint32
155 Dev_minor uint32
156 _ [14]uint64
157}
158
159type Dirent struct {
160 Ino uint64
161 Off int64
162 Reclen uint16
163 Type uint8
164 Name [256]uint8
165 _ [5]byte
166}
167
168type Fsid struct {
169 Val [2]int32
170}
171
172type Flock_t struct {
173 Type int16
174 Whence int16
175 _ [4]byte
176 Start int64
177 Len int64
178 Pid int32
179 _ [4]byte
180}
181
182type FscryptPolicy struct {
183 Version uint8
184 Contents_encryption_mode uint8
185 Filenames_encryption_mode uint8
186 Flags uint8
187 Master_key_descriptor [8]uint8
188}
189
190type FscryptKey struct {
191 Mode uint32
192 Raw [64]uint8
193 Size uint32
194}
195
Matteo Scandolof9d43412021-01-12 11:11:34 -0800196type FscryptPolicyV1 struct {
197 Version uint8
198 Contents_encryption_mode uint8
199 Filenames_encryption_mode uint8
200 Flags uint8
201 Master_key_descriptor [8]uint8
202}
203
204type FscryptPolicyV2 struct {
205 Version uint8
206 Contents_encryption_mode uint8
207 Filenames_encryption_mode uint8
208 Flags uint8
209 _ [4]uint8
210 Master_key_identifier [16]uint8
211}
212
213type FscryptGetPolicyExArg struct {
214 Size uint64
215 Policy [24]byte
216}
217
218type FscryptKeySpecifier struct {
219 Type uint32
220 _ uint32
221 U [32]byte
222}
223
224type FscryptAddKeyArg struct {
225 Key_spec FscryptKeySpecifier
226 Raw_size uint32
227 _ [9]uint32
228}
229
230type FscryptRemoveKeyArg struct {
231 Key_spec FscryptKeySpecifier
232 Removal_status_flags uint32
233 _ [5]uint32
234}
235
236type FscryptGetKeyStatusArg struct {
237 Key_spec FscryptKeySpecifier
238 _ [6]uint32
239 Status uint32
240 Status_flags uint32
241 User_count uint32
242 _ [13]uint32
243}
244
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700245type KeyctlDHParams struct {
246 Private int32
247 Prime int32
248 Base int32
249}
250
251const (
252 FADV_NORMAL = 0x0
253 FADV_RANDOM = 0x1
254 FADV_SEQUENTIAL = 0x2
255 FADV_WILLNEED = 0x3
256 FADV_DONTNEED = 0x4
257 FADV_NOREUSE = 0x5
258)
259
260type RawSockaddrInet4 struct {
261 Family uint16
262 Port uint16
263 Addr [4]byte /* in_addr */
264 Zero [8]uint8
265}
266
267type RawSockaddrInet6 struct {
268 Family uint16
269 Port uint16
270 Flowinfo uint32
271 Addr [16]byte /* in6_addr */
272 Scope_id uint32
273}
274
275type RawSockaddrUnix struct {
276 Family uint16
277 Path [108]int8
278}
279
280type RawSockaddrLinklayer struct {
281 Family uint16
282 Protocol uint16
283 Ifindex int32
284 Hatype uint16
285 Pkttype uint8
286 Halen uint8
287 Addr [8]uint8
288}
289
290type RawSockaddrNetlink struct {
291 Family uint16
292 Pad uint16
293 Pid uint32
294 Groups uint32
295}
296
297type RawSockaddrHCI struct {
298 Family uint16
299 Dev uint16
300 Channel uint16
301}
302
303type RawSockaddrL2 struct {
304 Family uint16
305 Psm uint16
306 Bdaddr [6]uint8
307 Cid uint16
308 Bdaddr_type uint8
309 _ [1]byte
310}
311
312type RawSockaddrRFCOMM struct {
313 Family uint16
314 Bdaddr [6]uint8
315 Channel uint8
316 _ [1]byte
317}
318
319type RawSockaddrCAN struct {
320 Family uint16
321 Ifindex int32
Matteo Scandolof9d43412021-01-12 11:11:34 -0800322 Addr [16]byte
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700323}
324
325type RawSockaddrALG struct {
326 Family uint16
327 Type [14]uint8
328 Feat uint32
329 Mask uint32
330 Name [64]uint8
331}
332
333type RawSockaddrVM struct {
334 Family uint16
335 Reserved1 uint16
336 Port uint32
337 Cid uint32
338 Zero [4]uint8
339}
340
341type RawSockaddrXDP struct {
342 Family uint16
343 Flags uint16
344 Ifindex uint32
345 Queue_id uint32
346 Shared_umem_fd uint32
347}
348
349type RawSockaddrPPPoX [0x1e]byte
350
Matteo Scandolof9d43412021-01-12 11:11:34 -0800351type RawSockaddrTIPC struct {
352 Family uint16
353 Addrtype uint8
354 Scope int8
355 Addr [12]byte
356}
357
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700358type RawSockaddr struct {
359 Family uint16
360 Data [14]uint8
361}
362
363type RawSockaddrAny struct {
364 Addr RawSockaddr
365 Pad [96]uint8
366}
367
368type _Socklen uint32
369
370type Linger struct {
371 Onoff int32
372 Linger int32
373}
374
375type Iovec struct {
376 Base *byte
377 Len uint32
378}
379
380type IPMreq struct {
381 Multiaddr [4]byte /* in_addr */
382 Interface [4]byte /* in_addr */
383}
384
385type IPMreqn struct {
386 Multiaddr [4]byte /* in_addr */
387 Address [4]byte /* in_addr */
388 Ifindex int32
389}
390
391type IPv6Mreq struct {
392 Multiaddr [16]byte /* in6_addr */
393 Interface uint32
394}
395
396type PacketMreq struct {
397 Ifindex int32
398 Type uint16
399 Alen uint16
400 Address [8]uint8
401}
402
403type Msghdr struct {
404 Name *byte
405 Namelen uint32
406 Iov *Iovec
407 Iovlen uint32
408 Control *byte
409 Controllen uint32
410 Flags int32
411}
412
413type Cmsghdr struct {
414 Len uint32
415 Level int32
416 Type int32
417}
418
419type Inet4Pktinfo struct {
420 Ifindex int32
421 Spec_dst [4]byte /* in_addr */
422 Addr [4]byte /* in_addr */
423}
424
425type Inet6Pktinfo struct {
426 Addr [16]byte /* in6_addr */
427 Ifindex uint32
428}
429
430type IPv6MTUInfo struct {
431 Addr RawSockaddrInet6
432 Mtu uint32
433}
434
435type ICMPv6Filter struct {
436 Data [8]uint32
437}
438
439type Ucred struct {
440 Pid int32
441 Uid uint32
442 Gid uint32
443}
444
445type TCPInfo struct {
446 State uint8
447 Ca_state uint8
448 Retransmits uint8
449 Probes uint8
450 Backoff uint8
451 Options uint8
452 Rto uint32
453 Ato uint32
454 Snd_mss uint32
455 Rcv_mss uint32
456 Unacked uint32
457 Sacked uint32
458 Lost uint32
459 Retrans uint32
460 Fackets uint32
461 Last_data_sent uint32
462 Last_ack_sent uint32
463 Last_data_recv uint32
464 Last_ack_recv uint32
465 Pmtu uint32
466 Rcv_ssthresh uint32
467 Rtt uint32
468 Rttvar uint32
469 Snd_ssthresh uint32
470 Snd_cwnd uint32
471 Advmss uint32
472 Reordering uint32
473 Rcv_rtt uint32
474 Rcv_space uint32
475 Total_retrans uint32
476}
477
478type CanFilter struct {
479 Id uint32
480 Mask uint32
481}
482
483const (
484 SizeofSockaddrInet4 = 0x10
485 SizeofSockaddrInet6 = 0x1c
486 SizeofSockaddrAny = 0x70
487 SizeofSockaddrUnix = 0x6e
488 SizeofSockaddrLinklayer = 0x14
489 SizeofSockaddrNetlink = 0xc
490 SizeofSockaddrHCI = 0x6
491 SizeofSockaddrL2 = 0xe
492 SizeofSockaddrRFCOMM = 0xa
Matteo Scandolof9d43412021-01-12 11:11:34 -0800493 SizeofSockaddrCAN = 0x18
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700494 SizeofSockaddrALG = 0x58
495 SizeofSockaddrVM = 0x10
496 SizeofSockaddrXDP = 0x10
497 SizeofSockaddrPPPoX = 0x1e
Matteo Scandolof9d43412021-01-12 11:11:34 -0800498 SizeofSockaddrTIPC = 0x10
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700499 SizeofLinger = 0x8
500 SizeofIovec = 0x8
501 SizeofIPMreq = 0x8
502 SizeofIPMreqn = 0xc
503 SizeofIPv6Mreq = 0x14
504 SizeofPacketMreq = 0x10
505 SizeofMsghdr = 0x1c
506 SizeofCmsghdr = 0xc
507 SizeofInet4Pktinfo = 0xc
508 SizeofInet6Pktinfo = 0x14
509 SizeofIPv6MTUInfo = 0x20
510 SizeofICMPv6Filter = 0x20
511 SizeofUcred = 0xc
512 SizeofTCPInfo = 0x68
513 SizeofCanFilter = 0x8
514)
515
516const (
517 NDA_UNSPEC = 0x0
518 NDA_DST = 0x1
519 NDA_LLADDR = 0x2
520 NDA_CACHEINFO = 0x3
521 NDA_PROBES = 0x4
522 NDA_VLAN = 0x5
523 NDA_PORT = 0x6
524 NDA_VNI = 0x7
525 NDA_IFINDEX = 0x8
526 NDA_MASTER = 0x9
527 NDA_LINK_NETNSID = 0xa
528 NDA_SRC_VNI = 0xb
529 NTF_USE = 0x1
530 NTF_SELF = 0x2
531 NTF_MASTER = 0x4
532 NTF_PROXY = 0x8
533 NTF_EXT_LEARNED = 0x10
534 NTF_OFFLOADED = 0x20
535 NTF_ROUTER = 0x80
536 NUD_INCOMPLETE = 0x1
537 NUD_REACHABLE = 0x2
538 NUD_STALE = 0x4
539 NUD_DELAY = 0x8
540 NUD_PROBE = 0x10
541 NUD_FAILED = 0x20
542 NUD_NOARP = 0x40
543 NUD_PERMANENT = 0x80
544 NUD_NONE = 0x0
545 IFA_UNSPEC = 0x0
546 IFA_ADDRESS = 0x1
547 IFA_LOCAL = 0x2
548 IFA_LABEL = 0x3
549 IFA_BROADCAST = 0x4
550 IFA_ANYCAST = 0x5
551 IFA_CACHEINFO = 0x6
552 IFA_MULTICAST = 0x7
553 IFA_FLAGS = 0x8
554 IFA_RT_PRIORITY = 0x9
555 IFA_TARGET_NETNSID = 0xa
556 IFLA_UNSPEC = 0x0
557 IFLA_ADDRESS = 0x1
558 IFLA_BROADCAST = 0x2
559 IFLA_IFNAME = 0x3
560 IFLA_MTU = 0x4
561 IFLA_LINK = 0x5
562 IFLA_QDISC = 0x6
563 IFLA_STATS = 0x7
564 IFLA_COST = 0x8
565 IFLA_PRIORITY = 0x9
566 IFLA_MASTER = 0xa
567 IFLA_WIRELESS = 0xb
568 IFLA_PROTINFO = 0xc
569 IFLA_TXQLEN = 0xd
570 IFLA_MAP = 0xe
571 IFLA_WEIGHT = 0xf
572 IFLA_OPERSTATE = 0x10
573 IFLA_LINKMODE = 0x11
574 IFLA_LINKINFO = 0x12
575 IFLA_NET_NS_PID = 0x13
576 IFLA_IFALIAS = 0x14
577 IFLA_NUM_VF = 0x15
578 IFLA_VFINFO_LIST = 0x16
579 IFLA_STATS64 = 0x17
580 IFLA_VF_PORTS = 0x18
581 IFLA_PORT_SELF = 0x19
582 IFLA_AF_SPEC = 0x1a
583 IFLA_GROUP = 0x1b
584 IFLA_NET_NS_FD = 0x1c
585 IFLA_EXT_MASK = 0x1d
586 IFLA_PROMISCUITY = 0x1e
587 IFLA_NUM_TX_QUEUES = 0x1f
588 IFLA_NUM_RX_QUEUES = 0x20
589 IFLA_CARRIER = 0x21
590 IFLA_PHYS_PORT_ID = 0x22
591 IFLA_CARRIER_CHANGES = 0x23
592 IFLA_PHYS_SWITCH_ID = 0x24
593 IFLA_LINK_NETNSID = 0x25
594 IFLA_PHYS_PORT_NAME = 0x26
595 IFLA_PROTO_DOWN = 0x27
596 IFLA_GSO_MAX_SEGS = 0x28
597 IFLA_GSO_MAX_SIZE = 0x29
598 IFLA_PAD = 0x2a
599 IFLA_XDP = 0x2b
600 IFLA_EVENT = 0x2c
601 IFLA_NEW_NETNSID = 0x2d
602 IFLA_IF_NETNSID = 0x2e
603 IFLA_TARGET_NETNSID = 0x2e
604 IFLA_CARRIER_UP_COUNT = 0x2f
605 IFLA_CARRIER_DOWN_COUNT = 0x30
606 IFLA_NEW_IFINDEX = 0x31
607 IFLA_MIN_MTU = 0x32
608 IFLA_MAX_MTU = 0x33
Matteo Scandolof9d43412021-01-12 11:11:34 -0800609 IFLA_MAX = 0x35
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700610 IFLA_INFO_KIND = 0x1
611 IFLA_INFO_DATA = 0x2
612 IFLA_INFO_XSTATS = 0x3
613 IFLA_INFO_SLAVE_KIND = 0x4
614 IFLA_INFO_SLAVE_DATA = 0x5
615 RT_SCOPE_UNIVERSE = 0x0
616 RT_SCOPE_SITE = 0xc8
617 RT_SCOPE_LINK = 0xfd
618 RT_SCOPE_HOST = 0xfe
619 RT_SCOPE_NOWHERE = 0xff
620 RT_TABLE_UNSPEC = 0x0
621 RT_TABLE_COMPAT = 0xfc
622 RT_TABLE_DEFAULT = 0xfd
623 RT_TABLE_MAIN = 0xfe
624 RT_TABLE_LOCAL = 0xff
625 RT_TABLE_MAX = 0xffffffff
626 RTA_UNSPEC = 0x0
627 RTA_DST = 0x1
628 RTA_SRC = 0x2
629 RTA_IIF = 0x3
630 RTA_OIF = 0x4
631 RTA_GATEWAY = 0x5
632 RTA_PRIORITY = 0x6
633 RTA_PREFSRC = 0x7
634 RTA_METRICS = 0x8
635 RTA_MULTIPATH = 0x9
636 RTA_FLOW = 0xb
637 RTA_CACHEINFO = 0xc
638 RTA_TABLE = 0xf
639 RTA_MARK = 0x10
640 RTA_MFC_STATS = 0x11
641 RTA_VIA = 0x12
642 RTA_NEWDST = 0x13
643 RTA_PREF = 0x14
644 RTA_ENCAP_TYPE = 0x15
645 RTA_ENCAP = 0x16
646 RTA_EXPIRES = 0x17
647 RTA_PAD = 0x18
648 RTA_UID = 0x19
649 RTA_TTL_PROPAGATE = 0x1a
650 RTA_IP_PROTO = 0x1b
651 RTA_SPORT = 0x1c
652 RTA_DPORT = 0x1d
653 RTN_UNSPEC = 0x0
654 RTN_UNICAST = 0x1
655 RTN_LOCAL = 0x2
656 RTN_BROADCAST = 0x3
657 RTN_ANYCAST = 0x4
658 RTN_MULTICAST = 0x5
659 RTN_BLACKHOLE = 0x6
660 RTN_UNREACHABLE = 0x7
661 RTN_PROHIBIT = 0x8
662 RTN_THROW = 0x9
663 RTN_NAT = 0xa
664 RTN_XRESOLVE = 0xb
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700665 SizeofNlMsghdr = 0x10
666 SizeofNlMsgerr = 0x14
667 SizeofRtGenmsg = 0x1
668 SizeofNlAttr = 0x4
669 SizeofRtAttr = 0x4
670 SizeofIfInfomsg = 0x10
671 SizeofIfAddrmsg = 0x8
Matteo Scandolof9d43412021-01-12 11:11:34 -0800672 SizeofIfaCacheinfo = 0x10
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700673 SizeofRtMsg = 0xc
674 SizeofRtNexthop = 0x8
675 SizeofNdUseroptmsg = 0x10
676 SizeofNdMsg = 0xc
677)
678
679type NlMsghdr struct {
680 Len uint32
681 Type uint16
682 Flags uint16
683 Seq uint32
684 Pid uint32
685}
686
687type NlMsgerr struct {
688 Error int32
689 Msg NlMsghdr
690}
691
692type RtGenmsg struct {
693 Family uint8
694}
695
696type NlAttr struct {
697 Len uint16
698 Type uint16
699}
700
701type RtAttr struct {
702 Len uint16
703 Type uint16
704}
705
706type IfInfomsg struct {
707 Family uint8
708 _ uint8
709 Type uint16
710 Index int32
711 Flags uint32
712 Change uint32
713}
714
715type IfAddrmsg struct {
716 Family uint8
717 Prefixlen uint8
718 Flags uint8
719 Scope uint8
720 Index uint32
721}
722
Matteo Scandolof9d43412021-01-12 11:11:34 -0800723type IfaCacheinfo struct {
724 Prefered uint32
725 Valid uint32
726 Cstamp uint32
727 Tstamp uint32
728}
729
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700730type RtMsg struct {
731 Family uint8
732 Dst_len uint8
733 Src_len uint8
734 Tos uint8
735 Table uint8
736 Protocol uint8
737 Scope uint8
738 Type uint8
739 Flags uint32
740}
741
742type RtNexthop struct {
743 Len uint16
744 Flags uint8
745 Hops uint8
746 Ifindex int32
747}
748
749type NdUseroptmsg struct {
750 Family uint8
751 Pad1 uint8
752 Opts_len uint16
753 Ifindex int32
754 Icmp_type uint8
755 Icmp_code uint8
756 Pad2 uint16
757 Pad3 uint32
758}
759
760type NdMsg struct {
761 Family uint8
762 Pad1 uint8
763 Pad2 uint16
764 Ifindex int32
765 State uint16
766 Flags uint8
767 Type uint8
768}
769
770const (
771 SizeofSockFilter = 0x8
772 SizeofSockFprog = 0x8
773)
774
775type SockFilter struct {
776 Code uint16
777 Jt uint8
778 Jf uint8
779 K uint32
780}
781
782type SockFprog struct {
783 Len uint16
784 Filter *SockFilter
785}
786
787type InotifyEvent struct {
788 Wd int32
789 Mask uint32
790 Cookie uint32
791 Len uint32
792}
793
794const SizeofInotifyEvent = 0x10
795
796type PtraceRegs struct {
797 Uregs [18]uint32
798}
799
800type FdSet struct {
801 Bits [32]int32
802}
803
804type Sysinfo_t struct {
805 Uptime int32
806 Loads [3]uint32
807 Totalram uint32
808 Freeram uint32
809 Sharedram uint32
810 Bufferram uint32
811 Totalswap uint32
812 Freeswap uint32
813 Procs uint16
814 Pad uint16
815 Totalhigh uint32
816 Freehigh uint32
817 Unit uint32
818 _ [8]uint8
819}
820
821type Utsname struct {
822 Sysname [65]byte
823 Nodename [65]byte
824 Release [65]byte
825 Version [65]byte
826 Machine [65]byte
827 Domainname [65]byte
828}
829
830type Ustat_t struct {
831 Tfree int32
832 Tinode uint32
833 Fname [6]uint8
834 Fpack [6]uint8
835}
836
837type EpollEvent struct {
838 Events uint32
839 PadFd int32
840 Fd int32
841 Pad int32
842}
843
844const (
845 AT_EMPTY_PATH = 0x1000
846 AT_FDCWD = -0x64
847 AT_NO_AUTOMOUNT = 0x800
848 AT_REMOVEDIR = 0x200
849
850 AT_STATX_SYNC_AS_STAT = 0x0
851 AT_STATX_FORCE_SYNC = 0x2000
852 AT_STATX_DONT_SYNC = 0x4000
853
854 AT_SYMLINK_FOLLOW = 0x400
855 AT_SYMLINK_NOFOLLOW = 0x100
856
857 AT_EACCESS = 0x200
858)
859
860type PollFd struct {
861 Fd int32
862 Events int16
863 Revents int16
864}
865
866const (
867 POLLIN = 0x1
868 POLLPRI = 0x2
869 POLLOUT = 0x4
870 POLLRDHUP = 0x2000
871 POLLERR = 0x8
872 POLLHUP = 0x10
873 POLLNVAL = 0x20
874)
875
876type Sigset_t struct {
877 Val [32]uint32
878}
879
Matteo Scandolof9d43412021-01-12 11:11:34 -0800880const _C__NSIG = 0x41
881
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700882type SignalfdSiginfo struct {
883 Signo uint32
884 Errno int32
885 Code int32
886 Pid uint32
887 Uid uint32
888 Fd int32
889 Tid uint32
890 Band uint32
891 Overrun uint32
892 Trapno uint32
893 Status int32
894 Int int32
895 Ptr uint64
896 Utime uint64
897 Stime uint64
898 Addr uint64
899 Addr_lsb uint16
900 _ uint16
901 Syscall int32
902 Call_addr uint64
903 Arch uint32
904 _ [28]uint8
905}
906
907const PERF_IOC_FLAG_GROUP = 0x1
908
909type Termios struct {
910 Iflag uint32
911 Oflag uint32
912 Cflag uint32
913 Lflag uint32
914 Line uint8
915 Cc [19]uint8
916 Ispeed uint32
917 Ospeed uint32
918}
919
920type Winsize struct {
921 Row uint16
922 Col uint16
923 Xpixel uint16
924 Ypixel uint16
925}
926
927type Taskstats struct {
928 Version uint16
929 Ac_exitcode uint32
930 Ac_flag uint8
931 Ac_nice uint8
932 _ [4]byte
933 Cpu_count uint64
934 Cpu_delay_total uint64
935 Blkio_count uint64
936 Blkio_delay_total uint64
937 Swapin_count uint64
938 Swapin_delay_total uint64
939 Cpu_run_real_total uint64
940 Cpu_run_virtual_total uint64
941 Ac_comm [32]uint8
942 Ac_sched uint8
943 Ac_pad [3]uint8
944 _ [4]byte
945 Ac_uid uint32
946 Ac_gid uint32
947 Ac_pid uint32
948 Ac_ppid uint32
949 Ac_btime uint32
950 _ [4]byte
951 Ac_etime uint64
952 Ac_utime uint64
953 Ac_stime uint64
954 Ac_minflt uint64
955 Ac_majflt uint64
956 Coremem uint64
957 Virtmem uint64
958 Hiwater_rss uint64
959 Hiwater_vm uint64
960 Read_char uint64
961 Write_char uint64
962 Read_syscalls uint64
963 Write_syscalls uint64
964 Read_bytes uint64
965 Write_bytes uint64
966 Cancelled_write_bytes uint64
967 Nvcsw uint64
968 Nivcsw uint64
969 Ac_utimescaled uint64
970 Ac_stimescaled uint64
971 Cpu_scaled_run_real_total uint64
972 Freepages_count uint64
973 Freepages_delay_total uint64
974 Thrashing_count uint64
975 Thrashing_delay_total uint64
976}
977
978const (
979 TASKSTATS_CMD_UNSPEC = 0x0
980 TASKSTATS_CMD_GET = 0x1
981 TASKSTATS_CMD_NEW = 0x2
982 TASKSTATS_TYPE_UNSPEC = 0x0
983 TASKSTATS_TYPE_PID = 0x1
984 TASKSTATS_TYPE_TGID = 0x2
985 TASKSTATS_TYPE_STATS = 0x3
986 TASKSTATS_TYPE_AGGR_PID = 0x4
987 TASKSTATS_TYPE_AGGR_TGID = 0x5
988 TASKSTATS_TYPE_NULL = 0x6
989 TASKSTATS_CMD_ATTR_UNSPEC = 0x0
990 TASKSTATS_CMD_ATTR_PID = 0x1
991 TASKSTATS_CMD_ATTR_TGID = 0x2
992 TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
993 TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
994)
995
996type CGroupStats struct {
997 Sleeping uint64
998 Running uint64
999 Stopped uint64
1000 Uninterruptible uint64
1001 Io_wait uint64
1002}
1003
1004const (
1005 CGROUPSTATS_CMD_UNSPEC = 0x3
1006 CGROUPSTATS_CMD_GET = 0x4
1007 CGROUPSTATS_CMD_NEW = 0x5
1008 CGROUPSTATS_TYPE_UNSPEC = 0x0
1009 CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
1010 CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0
1011 CGROUPSTATS_CMD_ATTR_FD = 0x1
1012)
1013
1014type Genlmsghdr struct {
1015 Cmd uint8
1016 Version uint8
1017 Reserved uint16
1018}
1019
1020const (
1021 CTRL_CMD_UNSPEC = 0x0
1022 CTRL_CMD_NEWFAMILY = 0x1
1023 CTRL_CMD_DELFAMILY = 0x2
1024 CTRL_CMD_GETFAMILY = 0x3
1025 CTRL_CMD_NEWOPS = 0x4
1026 CTRL_CMD_DELOPS = 0x5
1027 CTRL_CMD_GETOPS = 0x6
1028 CTRL_CMD_NEWMCAST_GRP = 0x7
1029 CTRL_CMD_DELMCAST_GRP = 0x8
1030 CTRL_CMD_GETMCAST_GRP = 0x9
1031 CTRL_ATTR_UNSPEC = 0x0
1032 CTRL_ATTR_FAMILY_ID = 0x1
1033 CTRL_ATTR_FAMILY_NAME = 0x2
1034 CTRL_ATTR_VERSION = 0x3
1035 CTRL_ATTR_HDRSIZE = 0x4
1036 CTRL_ATTR_MAXATTR = 0x5
1037 CTRL_ATTR_OPS = 0x6
1038 CTRL_ATTR_MCAST_GROUPS = 0x7
1039 CTRL_ATTR_OP_UNSPEC = 0x0
1040 CTRL_ATTR_OP_ID = 0x1
1041 CTRL_ATTR_OP_FLAGS = 0x2
1042 CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
1043 CTRL_ATTR_MCAST_GRP_NAME = 0x1
1044 CTRL_ATTR_MCAST_GRP_ID = 0x2
1045)
1046
1047type cpuMask uint32
1048
1049const (
1050 _CPU_SETSIZE = 0x400
1051 _NCPUBITS = 0x20
1052)
1053
1054const (
1055 BDADDR_BREDR = 0x0
1056 BDADDR_LE_PUBLIC = 0x1
1057 BDADDR_LE_RANDOM = 0x2
1058)
1059
1060type PerfEventAttr struct {
1061 Type uint32
1062 Size uint32
1063 Config uint64
1064 Sample uint64
1065 Sample_type uint64
1066 Read_format uint64
1067 Bits uint64
1068 Wakeup uint32
1069 Bp_type uint32
1070 Ext1 uint64
1071 Ext2 uint64
1072 Branch_sample_type uint64
1073 Sample_regs_user uint64
1074 Sample_stack_user uint32
1075 Clockid int32
1076 Sample_regs_intr uint64
1077 Aux_watermark uint32
1078 Sample_max_stack uint16
1079 _ uint16
1080}
1081
1082type PerfEventMmapPage struct {
1083 Version uint32
1084 Compat_version uint32
1085 Lock uint32
1086 Index uint32
1087 Offset int64
1088 Time_enabled uint64
1089 Time_running uint64
1090 Capabilities uint64
1091 Pmc_width uint16
1092 Time_shift uint16
1093 Time_mult uint32
1094 Time_offset uint64
1095 Time_zero uint64
1096 Size uint32
1097 _ [948]uint8
1098 Data_head uint64
1099 Data_tail uint64
1100 Data_offset uint64
1101 Data_size uint64
1102 Aux_head uint64
1103 Aux_tail uint64
1104 Aux_offset uint64
1105 Aux_size uint64
1106}
1107
1108const (
1109 PerfBitDisabled uint64 = CBitFieldMaskBit0
1110 PerfBitInherit = CBitFieldMaskBit1
1111 PerfBitPinned = CBitFieldMaskBit2
1112 PerfBitExclusive = CBitFieldMaskBit3
1113 PerfBitExcludeUser = CBitFieldMaskBit4
1114 PerfBitExcludeKernel = CBitFieldMaskBit5
1115 PerfBitExcludeHv = CBitFieldMaskBit6
1116 PerfBitExcludeIdle = CBitFieldMaskBit7
1117 PerfBitMmap = CBitFieldMaskBit8
1118 PerfBitComm = CBitFieldMaskBit9
1119 PerfBitFreq = CBitFieldMaskBit10
1120 PerfBitInheritStat = CBitFieldMaskBit11
1121 PerfBitEnableOnExec = CBitFieldMaskBit12
1122 PerfBitTask = CBitFieldMaskBit13
1123 PerfBitWatermark = CBitFieldMaskBit14
1124 PerfBitPreciseIPBit1 = CBitFieldMaskBit15
1125 PerfBitPreciseIPBit2 = CBitFieldMaskBit16
1126 PerfBitMmapData = CBitFieldMaskBit17
1127 PerfBitSampleIDAll = CBitFieldMaskBit18
1128 PerfBitExcludeHost = CBitFieldMaskBit19
1129 PerfBitExcludeGuest = CBitFieldMaskBit20
1130 PerfBitExcludeCallchainKernel = CBitFieldMaskBit21
1131 PerfBitExcludeCallchainUser = CBitFieldMaskBit22
1132 PerfBitMmap2 = CBitFieldMaskBit23
1133 PerfBitCommExec = CBitFieldMaskBit24
1134 PerfBitUseClockID = CBitFieldMaskBit25
1135 PerfBitContextSwitch = CBitFieldMaskBit26
1136)
1137
1138const (
1139 PERF_TYPE_HARDWARE = 0x0
1140 PERF_TYPE_SOFTWARE = 0x1
1141 PERF_TYPE_TRACEPOINT = 0x2
1142 PERF_TYPE_HW_CACHE = 0x3
1143 PERF_TYPE_RAW = 0x4
1144 PERF_TYPE_BREAKPOINT = 0x5
1145
1146 PERF_COUNT_HW_CPU_CYCLES = 0x0
1147 PERF_COUNT_HW_INSTRUCTIONS = 0x1
1148 PERF_COUNT_HW_CACHE_REFERENCES = 0x2
1149 PERF_COUNT_HW_CACHE_MISSES = 0x3
1150 PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4
1151 PERF_COUNT_HW_BRANCH_MISSES = 0x5
1152 PERF_COUNT_HW_BUS_CYCLES = 0x6
1153 PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
1154 PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8
1155 PERF_COUNT_HW_REF_CPU_CYCLES = 0x9
1156
1157 PERF_COUNT_HW_CACHE_L1D = 0x0
1158 PERF_COUNT_HW_CACHE_L1I = 0x1
1159 PERF_COUNT_HW_CACHE_LL = 0x2
1160 PERF_COUNT_HW_CACHE_DTLB = 0x3
1161 PERF_COUNT_HW_CACHE_ITLB = 0x4
1162 PERF_COUNT_HW_CACHE_BPU = 0x5
1163 PERF_COUNT_HW_CACHE_NODE = 0x6
1164
1165 PERF_COUNT_HW_CACHE_OP_READ = 0x0
1166 PERF_COUNT_HW_CACHE_OP_WRITE = 0x1
1167 PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
1168
1169 PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
1170 PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1
1171
1172 PERF_COUNT_SW_CPU_CLOCK = 0x0
1173 PERF_COUNT_SW_TASK_CLOCK = 0x1
1174 PERF_COUNT_SW_PAGE_FAULTS = 0x2
1175 PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
1176 PERF_COUNT_SW_CPU_MIGRATIONS = 0x4
1177 PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5
1178 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6
1179 PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
1180 PERF_COUNT_SW_EMULATION_FAULTS = 0x8
1181 PERF_COUNT_SW_DUMMY = 0x9
1182 PERF_COUNT_SW_BPF_OUTPUT = 0xa
1183
1184 PERF_SAMPLE_IP = 0x1
1185 PERF_SAMPLE_TID = 0x2
1186 PERF_SAMPLE_TIME = 0x4
1187 PERF_SAMPLE_ADDR = 0x8
1188 PERF_SAMPLE_READ = 0x10
1189 PERF_SAMPLE_CALLCHAIN = 0x20
1190 PERF_SAMPLE_ID = 0x40
1191 PERF_SAMPLE_CPU = 0x80
1192 PERF_SAMPLE_PERIOD = 0x100
1193 PERF_SAMPLE_STREAM_ID = 0x200
1194 PERF_SAMPLE_RAW = 0x400
1195 PERF_SAMPLE_BRANCH_STACK = 0x800
1196
1197 PERF_SAMPLE_BRANCH_USER = 0x1
1198 PERF_SAMPLE_BRANCH_KERNEL = 0x2
1199 PERF_SAMPLE_BRANCH_HV = 0x4
1200 PERF_SAMPLE_BRANCH_ANY = 0x8
1201 PERF_SAMPLE_BRANCH_ANY_CALL = 0x10
1202 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
1203 PERF_SAMPLE_BRANCH_IND_CALL = 0x40
1204 PERF_SAMPLE_BRANCH_ABORT_TX = 0x80
1205 PERF_SAMPLE_BRANCH_IN_TX = 0x100
1206 PERF_SAMPLE_BRANCH_NO_TX = 0x200
1207 PERF_SAMPLE_BRANCH_COND = 0x400
1208 PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
1209 PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000
1210 PERF_SAMPLE_BRANCH_CALL = 0x2000
1211 PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000
1212 PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000
1213 PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000
1214
1215 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
1216 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
1217 PERF_FORMAT_ID = 0x4
1218 PERF_FORMAT_GROUP = 0x8
1219
1220 PERF_RECORD_MMAP = 0x1
1221 PERF_RECORD_LOST = 0x2
1222 PERF_RECORD_COMM = 0x3
1223 PERF_RECORD_EXIT = 0x4
1224 PERF_RECORD_THROTTLE = 0x5
1225 PERF_RECORD_UNTHROTTLE = 0x6
1226 PERF_RECORD_FORK = 0x7
1227 PERF_RECORD_READ = 0x8
1228 PERF_RECORD_SAMPLE = 0x9
1229 PERF_RECORD_MMAP2 = 0xa
1230 PERF_RECORD_AUX = 0xb
1231 PERF_RECORD_ITRACE_START = 0xc
1232 PERF_RECORD_LOST_SAMPLES = 0xd
1233 PERF_RECORD_SWITCH = 0xe
1234 PERF_RECORD_SWITCH_CPU_WIDE = 0xf
1235 PERF_RECORD_NAMESPACES = 0x10
1236
1237 PERF_CONTEXT_HV = -0x20
1238 PERF_CONTEXT_KERNEL = -0x80
1239 PERF_CONTEXT_USER = -0x200
1240
1241 PERF_CONTEXT_GUEST = -0x800
1242 PERF_CONTEXT_GUEST_KERNEL = -0x880
1243 PERF_CONTEXT_GUEST_USER = -0xa00
1244
1245 PERF_FLAG_FD_NO_GROUP = 0x1
1246 PERF_FLAG_FD_OUTPUT = 0x2
1247 PERF_FLAG_PID_CGROUP = 0x4
1248 PERF_FLAG_FD_CLOEXEC = 0x8
1249)
1250
1251const (
1252 CBitFieldMaskBit0 = 0x1
1253 CBitFieldMaskBit1 = 0x2
1254 CBitFieldMaskBit2 = 0x4
1255 CBitFieldMaskBit3 = 0x8
1256 CBitFieldMaskBit4 = 0x10
1257 CBitFieldMaskBit5 = 0x20
1258 CBitFieldMaskBit6 = 0x40
1259 CBitFieldMaskBit7 = 0x80
1260 CBitFieldMaskBit8 = 0x100
1261 CBitFieldMaskBit9 = 0x200
1262 CBitFieldMaskBit10 = 0x400
1263 CBitFieldMaskBit11 = 0x800
1264 CBitFieldMaskBit12 = 0x1000
1265 CBitFieldMaskBit13 = 0x2000
1266 CBitFieldMaskBit14 = 0x4000
1267 CBitFieldMaskBit15 = 0x8000
1268 CBitFieldMaskBit16 = 0x10000
1269 CBitFieldMaskBit17 = 0x20000
1270 CBitFieldMaskBit18 = 0x40000
1271 CBitFieldMaskBit19 = 0x80000
1272 CBitFieldMaskBit20 = 0x100000
1273 CBitFieldMaskBit21 = 0x200000
1274 CBitFieldMaskBit22 = 0x400000
1275 CBitFieldMaskBit23 = 0x800000
1276 CBitFieldMaskBit24 = 0x1000000
1277 CBitFieldMaskBit25 = 0x2000000
1278 CBitFieldMaskBit26 = 0x4000000
1279 CBitFieldMaskBit27 = 0x8000000
1280 CBitFieldMaskBit28 = 0x10000000
1281 CBitFieldMaskBit29 = 0x20000000
1282 CBitFieldMaskBit30 = 0x40000000
1283 CBitFieldMaskBit31 = 0x80000000
1284 CBitFieldMaskBit32 = 0x100000000
1285 CBitFieldMaskBit33 = 0x200000000
1286 CBitFieldMaskBit34 = 0x400000000
1287 CBitFieldMaskBit35 = 0x800000000
1288 CBitFieldMaskBit36 = 0x1000000000
1289 CBitFieldMaskBit37 = 0x2000000000
1290 CBitFieldMaskBit38 = 0x4000000000
1291 CBitFieldMaskBit39 = 0x8000000000
1292 CBitFieldMaskBit40 = 0x10000000000
1293 CBitFieldMaskBit41 = 0x20000000000
1294 CBitFieldMaskBit42 = 0x40000000000
1295 CBitFieldMaskBit43 = 0x80000000000
1296 CBitFieldMaskBit44 = 0x100000000000
1297 CBitFieldMaskBit45 = 0x200000000000
1298 CBitFieldMaskBit46 = 0x400000000000
1299 CBitFieldMaskBit47 = 0x800000000000
1300 CBitFieldMaskBit48 = 0x1000000000000
1301 CBitFieldMaskBit49 = 0x2000000000000
1302 CBitFieldMaskBit50 = 0x4000000000000
1303 CBitFieldMaskBit51 = 0x8000000000000
1304 CBitFieldMaskBit52 = 0x10000000000000
1305 CBitFieldMaskBit53 = 0x20000000000000
1306 CBitFieldMaskBit54 = 0x40000000000000
1307 CBitFieldMaskBit55 = 0x80000000000000
1308 CBitFieldMaskBit56 = 0x100000000000000
1309 CBitFieldMaskBit57 = 0x200000000000000
1310 CBitFieldMaskBit58 = 0x400000000000000
1311 CBitFieldMaskBit59 = 0x800000000000000
1312 CBitFieldMaskBit60 = 0x1000000000000000
1313 CBitFieldMaskBit61 = 0x2000000000000000
1314 CBitFieldMaskBit62 = 0x4000000000000000
1315 CBitFieldMaskBit63 = 0x8000000000000000
1316)
1317
1318type SockaddrStorage struct {
1319 Family uint16
1320 _ [122]uint8
1321 _ uint32
1322}
1323
1324type TCPMD5Sig struct {
1325 Addr SockaddrStorage
1326 Flags uint8
1327 Prefixlen uint8
1328 Keylen uint16
1329 _ uint32
1330 Key [80]uint8
1331}
1332
1333type HDDriveCmdHdr struct {
1334 Command uint8
1335 Number uint8
1336 Feature uint8
1337 Count uint8
1338}
1339
1340type HDGeometry struct {
1341 Heads uint8
1342 Sectors uint8
1343 Cylinders uint16
1344 Start uint32
1345}
1346
1347type HDDriveID struct {
1348 Config uint16
1349 Cyls uint16
1350 Reserved2 uint16
1351 Heads uint16
1352 Track_bytes uint16
1353 Sector_bytes uint16
1354 Sectors uint16
1355 Vendor0 uint16
1356 Vendor1 uint16
1357 Vendor2 uint16
1358 Serial_no [20]uint8
1359 Buf_type uint16
1360 Buf_size uint16
1361 Ecc_bytes uint16
1362 Fw_rev [8]uint8
1363 Model [40]uint8
1364 Max_multsect uint8
1365 Vendor3 uint8
1366 Dword_io uint16
1367 Vendor4 uint8
1368 Capability uint8
1369 Reserved50 uint16
1370 Vendor5 uint8
1371 TPIO uint8
1372 Vendor6 uint8
1373 TDMA uint8
1374 Field_valid uint16
1375 Cur_cyls uint16
1376 Cur_heads uint16
1377 Cur_sectors uint16
1378 Cur_capacity0 uint16
1379 Cur_capacity1 uint16
1380 Multsect uint8
1381 Multsect_valid uint8
1382 Lba_capacity uint32
1383 Dma_1word uint16
1384 Dma_mword uint16
1385 Eide_pio_modes uint16
1386 Eide_dma_min uint16
1387 Eide_dma_time uint16
1388 Eide_pio uint16
1389 Eide_pio_iordy uint16
1390 Words69_70 [2]uint16
1391 Words71_74 [4]uint16
1392 Queue_depth uint16
1393 Words76_79 [4]uint16
1394 Major_rev_num uint16
1395 Minor_rev_num uint16
1396 Command_set_1 uint16
1397 Command_set_2 uint16
1398 Cfsse uint16
1399 Cfs_enable_1 uint16
1400 Cfs_enable_2 uint16
1401 Csf_default uint16
1402 Dma_ultra uint16
1403 Trseuc uint16
1404 TrsEuc uint16
1405 CurAPMvalues uint16
1406 Mprc uint16
1407 Hw_config uint16
1408 Acoustic uint16
1409 Msrqs uint16
1410 Sxfert uint16
1411 Sal uint16
1412 Spg uint32
1413 Lba_capacity_2 uint64
1414 Words104_125 [22]uint16
1415 Last_lun uint16
1416 Word127 uint16
1417 Dlf uint16
1418 Csfo uint16
1419 Words130_155 [26]uint16
1420 Word156 uint16
1421 Words157_159 [3]uint16
1422 Cfa_power uint16
1423 Words161_175 [15]uint16
1424 Words176_205 [30]uint16
1425 Words206_254 [49]uint16
1426 Integrity_word uint16
1427}
1428
1429type Statfs_t struct {
1430 Type int32
1431 Bsize int32
1432 Blocks uint64
1433 Bfree uint64
1434 Bavail uint64
1435 Files uint64
1436 Ffree uint64
1437 Fsid Fsid
1438 Namelen int32
1439 Frsize int32
1440 Flags int32
1441 Spare [4]int32
1442 _ [4]byte
1443}
1444
1445const (
1446 ST_MANDLOCK = 0x40
1447 ST_NOATIME = 0x400
1448 ST_NODEV = 0x4
1449 ST_NODIRATIME = 0x800
1450 ST_NOEXEC = 0x8
1451 ST_NOSUID = 0x2
1452 ST_RDONLY = 0x1
1453 ST_RELATIME = 0x1000
1454 ST_SYNCHRONOUS = 0x10
1455)
1456
1457type TpacketHdr struct {
1458 Status uint32
1459 Len uint32
1460 Snaplen uint32
1461 Mac uint16
1462 Net uint16
1463 Sec uint32
1464 Usec uint32
1465}
1466
1467type Tpacket2Hdr struct {
1468 Status uint32
1469 Len uint32
1470 Snaplen uint32
1471 Mac uint16
1472 Net uint16
1473 Sec uint32
1474 Nsec uint32
1475 Vlan_tci uint16
1476 Vlan_tpid uint16
1477 _ [4]uint8
1478}
1479
1480type Tpacket3Hdr struct {
1481 Next_offset uint32
1482 Sec uint32
1483 Nsec uint32
1484 Snaplen uint32
1485 Len uint32
1486 Status uint32
1487 Mac uint16
1488 Net uint16
1489 Hv1 TpacketHdrVariant1
1490 _ [8]uint8
1491}
1492
1493type TpacketHdrVariant1 struct {
1494 Rxhash uint32
1495 Vlan_tci uint32
1496 Vlan_tpid uint16
1497 _ uint16
1498}
1499
1500type TpacketBlockDesc struct {
1501 Version uint32
1502 To_priv uint32
1503 Hdr [40]byte
1504}
1505
Matteo Scandolof9d43412021-01-12 11:11:34 -08001506type TpacketBDTS struct {
1507 Sec uint32
1508 Usec uint32
1509}
1510
1511type TpacketHdrV1 struct {
1512 Block_status uint32
1513 Num_pkts uint32
1514 Offset_to_first_pkt uint32
1515 Blk_len uint32
1516 Seq_num uint64
1517 Ts_first_pkt TpacketBDTS
1518 Ts_last_pkt TpacketBDTS
1519}
1520
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001521type TpacketReq struct {
1522 Block_size uint32
1523 Block_nr uint32
1524 Frame_size uint32
1525 Frame_nr uint32
1526}
1527
1528type TpacketReq3 struct {
1529 Block_size uint32
1530 Block_nr uint32
1531 Frame_size uint32
1532 Frame_nr uint32
1533 Retire_blk_tov uint32
1534 Sizeof_priv uint32
1535 Feature_req_word uint32
1536}
1537
1538type TpacketStats struct {
1539 Packets uint32
1540 Drops uint32
1541}
1542
1543type TpacketStatsV3 struct {
1544 Packets uint32
1545 Drops uint32
1546 Freeze_q_cnt uint32
1547}
1548
1549type TpacketAuxdata struct {
1550 Status uint32
1551 Len uint32
1552 Snaplen uint32
1553 Mac uint16
1554 Net uint16
1555 Vlan_tci uint16
1556 Vlan_tpid uint16
1557}
1558
1559const (
1560 TPACKET_V1 = 0x0
1561 TPACKET_V2 = 0x1
1562 TPACKET_V3 = 0x2
1563)
1564
1565const (
1566 SizeofTpacketHdr = 0x18
1567 SizeofTpacket2Hdr = 0x20
1568 SizeofTpacket3Hdr = 0x30
1569
1570 SizeofTpacketStats = 0x8
1571 SizeofTpacketStatsV3 = 0xc
1572)
1573
1574const (
1575 NF_INET_PRE_ROUTING = 0x0
1576 NF_INET_LOCAL_IN = 0x1
1577 NF_INET_FORWARD = 0x2
1578 NF_INET_LOCAL_OUT = 0x3
1579 NF_INET_POST_ROUTING = 0x4
1580 NF_INET_NUMHOOKS = 0x5
1581)
1582
1583const (
1584 NF_NETDEV_INGRESS = 0x0
1585 NF_NETDEV_NUMHOOKS = 0x1
1586)
1587
1588const (
1589 NFPROTO_UNSPEC = 0x0
1590 NFPROTO_INET = 0x1
1591 NFPROTO_IPV4 = 0x2
1592 NFPROTO_ARP = 0x3
1593 NFPROTO_NETDEV = 0x5
1594 NFPROTO_BRIDGE = 0x7
1595 NFPROTO_IPV6 = 0xa
1596 NFPROTO_DECNET = 0xc
1597 NFPROTO_NUMPROTO = 0xd
1598)
1599
1600type Nfgenmsg struct {
1601 Nfgen_family uint8
1602 Version uint8
1603 Res_id uint16
1604}
1605
1606const (
1607 NFNL_BATCH_UNSPEC = 0x0
1608 NFNL_BATCH_GENID = 0x1
1609)
1610
1611const (
1612 NFT_REG_VERDICT = 0x0
1613 NFT_REG_1 = 0x1
1614 NFT_REG_2 = 0x2
1615 NFT_REG_3 = 0x3
1616 NFT_REG_4 = 0x4
1617 NFT_REG32_00 = 0x8
1618 NFT_REG32_01 = 0x9
1619 NFT_REG32_02 = 0xa
1620 NFT_REG32_03 = 0xb
1621 NFT_REG32_04 = 0xc
1622 NFT_REG32_05 = 0xd
1623 NFT_REG32_06 = 0xe
1624 NFT_REG32_07 = 0xf
1625 NFT_REG32_08 = 0x10
1626 NFT_REG32_09 = 0x11
1627 NFT_REG32_10 = 0x12
1628 NFT_REG32_11 = 0x13
1629 NFT_REG32_12 = 0x14
1630 NFT_REG32_13 = 0x15
1631 NFT_REG32_14 = 0x16
1632 NFT_REG32_15 = 0x17
1633 NFT_CONTINUE = -0x1
1634 NFT_BREAK = -0x2
1635 NFT_JUMP = -0x3
1636 NFT_GOTO = -0x4
1637 NFT_RETURN = -0x5
1638 NFT_MSG_NEWTABLE = 0x0
1639 NFT_MSG_GETTABLE = 0x1
1640 NFT_MSG_DELTABLE = 0x2
1641 NFT_MSG_NEWCHAIN = 0x3
1642 NFT_MSG_GETCHAIN = 0x4
1643 NFT_MSG_DELCHAIN = 0x5
1644 NFT_MSG_NEWRULE = 0x6
1645 NFT_MSG_GETRULE = 0x7
1646 NFT_MSG_DELRULE = 0x8
1647 NFT_MSG_NEWSET = 0x9
1648 NFT_MSG_GETSET = 0xa
1649 NFT_MSG_DELSET = 0xb
1650 NFT_MSG_NEWSETELEM = 0xc
1651 NFT_MSG_GETSETELEM = 0xd
1652 NFT_MSG_DELSETELEM = 0xe
1653 NFT_MSG_NEWGEN = 0xf
1654 NFT_MSG_GETGEN = 0x10
1655 NFT_MSG_TRACE = 0x11
1656 NFT_MSG_NEWOBJ = 0x12
1657 NFT_MSG_GETOBJ = 0x13
1658 NFT_MSG_DELOBJ = 0x14
1659 NFT_MSG_GETOBJ_RESET = 0x15
1660 NFT_MSG_MAX = 0x19
1661 NFTA_LIST_UNPEC = 0x0
1662 NFTA_LIST_ELEM = 0x1
1663 NFTA_HOOK_UNSPEC = 0x0
1664 NFTA_HOOK_HOOKNUM = 0x1
1665 NFTA_HOOK_PRIORITY = 0x2
1666 NFTA_HOOK_DEV = 0x3
1667 NFT_TABLE_F_DORMANT = 0x1
1668 NFTA_TABLE_UNSPEC = 0x0
1669 NFTA_TABLE_NAME = 0x1
1670 NFTA_TABLE_FLAGS = 0x2
1671 NFTA_TABLE_USE = 0x3
1672 NFTA_CHAIN_UNSPEC = 0x0
1673 NFTA_CHAIN_TABLE = 0x1
1674 NFTA_CHAIN_HANDLE = 0x2
1675 NFTA_CHAIN_NAME = 0x3
1676 NFTA_CHAIN_HOOK = 0x4
1677 NFTA_CHAIN_POLICY = 0x5
1678 NFTA_CHAIN_USE = 0x6
1679 NFTA_CHAIN_TYPE = 0x7
1680 NFTA_CHAIN_COUNTERS = 0x8
1681 NFTA_CHAIN_PAD = 0x9
1682 NFTA_RULE_UNSPEC = 0x0
1683 NFTA_RULE_TABLE = 0x1
1684 NFTA_RULE_CHAIN = 0x2
1685 NFTA_RULE_HANDLE = 0x3
1686 NFTA_RULE_EXPRESSIONS = 0x4
1687 NFTA_RULE_COMPAT = 0x5
1688 NFTA_RULE_POSITION = 0x6
1689 NFTA_RULE_USERDATA = 0x7
1690 NFTA_RULE_PAD = 0x8
1691 NFTA_RULE_ID = 0x9
1692 NFT_RULE_COMPAT_F_INV = 0x2
1693 NFT_RULE_COMPAT_F_MASK = 0x2
1694 NFTA_RULE_COMPAT_UNSPEC = 0x0
1695 NFTA_RULE_COMPAT_PROTO = 0x1
1696 NFTA_RULE_COMPAT_FLAGS = 0x2
1697 NFT_SET_ANONYMOUS = 0x1
1698 NFT_SET_CONSTANT = 0x2
1699 NFT_SET_INTERVAL = 0x4
1700 NFT_SET_MAP = 0x8
1701 NFT_SET_TIMEOUT = 0x10
1702 NFT_SET_EVAL = 0x20
1703 NFT_SET_OBJECT = 0x40
1704 NFT_SET_POL_PERFORMANCE = 0x0
1705 NFT_SET_POL_MEMORY = 0x1
1706 NFTA_SET_DESC_UNSPEC = 0x0
1707 NFTA_SET_DESC_SIZE = 0x1
1708 NFTA_SET_UNSPEC = 0x0
1709 NFTA_SET_TABLE = 0x1
1710 NFTA_SET_NAME = 0x2
1711 NFTA_SET_FLAGS = 0x3
1712 NFTA_SET_KEY_TYPE = 0x4
1713 NFTA_SET_KEY_LEN = 0x5
1714 NFTA_SET_DATA_TYPE = 0x6
1715 NFTA_SET_DATA_LEN = 0x7
1716 NFTA_SET_POLICY = 0x8
1717 NFTA_SET_DESC = 0x9
1718 NFTA_SET_ID = 0xa
1719 NFTA_SET_TIMEOUT = 0xb
1720 NFTA_SET_GC_INTERVAL = 0xc
1721 NFTA_SET_USERDATA = 0xd
1722 NFTA_SET_PAD = 0xe
1723 NFTA_SET_OBJ_TYPE = 0xf
1724 NFT_SET_ELEM_INTERVAL_END = 0x1
1725 NFTA_SET_ELEM_UNSPEC = 0x0
1726 NFTA_SET_ELEM_KEY = 0x1
1727 NFTA_SET_ELEM_DATA = 0x2
1728 NFTA_SET_ELEM_FLAGS = 0x3
1729 NFTA_SET_ELEM_TIMEOUT = 0x4
1730 NFTA_SET_ELEM_EXPIRATION = 0x5
1731 NFTA_SET_ELEM_USERDATA = 0x6
1732 NFTA_SET_ELEM_EXPR = 0x7
1733 NFTA_SET_ELEM_PAD = 0x8
1734 NFTA_SET_ELEM_OBJREF = 0x9
1735 NFTA_SET_ELEM_LIST_UNSPEC = 0x0
1736 NFTA_SET_ELEM_LIST_TABLE = 0x1
1737 NFTA_SET_ELEM_LIST_SET = 0x2
1738 NFTA_SET_ELEM_LIST_ELEMENTS = 0x3
1739 NFTA_SET_ELEM_LIST_SET_ID = 0x4
1740 NFT_DATA_VALUE = 0x0
1741 NFT_DATA_VERDICT = 0xffffff00
1742 NFTA_DATA_UNSPEC = 0x0
1743 NFTA_DATA_VALUE = 0x1
1744 NFTA_DATA_VERDICT = 0x2
1745 NFTA_VERDICT_UNSPEC = 0x0
1746 NFTA_VERDICT_CODE = 0x1
1747 NFTA_VERDICT_CHAIN = 0x2
1748 NFTA_EXPR_UNSPEC = 0x0
1749 NFTA_EXPR_NAME = 0x1
1750 NFTA_EXPR_DATA = 0x2
1751 NFTA_IMMEDIATE_UNSPEC = 0x0
1752 NFTA_IMMEDIATE_DREG = 0x1
1753 NFTA_IMMEDIATE_DATA = 0x2
1754 NFTA_BITWISE_UNSPEC = 0x0
1755 NFTA_BITWISE_SREG = 0x1
1756 NFTA_BITWISE_DREG = 0x2
1757 NFTA_BITWISE_LEN = 0x3
1758 NFTA_BITWISE_MASK = 0x4
1759 NFTA_BITWISE_XOR = 0x5
1760 NFT_BYTEORDER_NTOH = 0x0
1761 NFT_BYTEORDER_HTON = 0x1
1762 NFTA_BYTEORDER_UNSPEC = 0x0
1763 NFTA_BYTEORDER_SREG = 0x1
1764 NFTA_BYTEORDER_DREG = 0x2
1765 NFTA_BYTEORDER_OP = 0x3
1766 NFTA_BYTEORDER_LEN = 0x4
1767 NFTA_BYTEORDER_SIZE = 0x5
1768 NFT_CMP_EQ = 0x0
1769 NFT_CMP_NEQ = 0x1
1770 NFT_CMP_LT = 0x2
1771 NFT_CMP_LTE = 0x3
1772 NFT_CMP_GT = 0x4
1773 NFT_CMP_GTE = 0x5
1774 NFTA_CMP_UNSPEC = 0x0
1775 NFTA_CMP_SREG = 0x1
1776 NFTA_CMP_OP = 0x2
1777 NFTA_CMP_DATA = 0x3
1778 NFT_RANGE_EQ = 0x0
1779 NFT_RANGE_NEQ = 0x1
1780 NFTA_RANGE_UNSPEC = 0x0
1781 NFTA_RANGE_SREG = 0x1
1782 NFTA_RANGE_OP = 0x2
1783 NFTA_RANGE_FROM_DATA = 0x3
1784 NFTA_RANGE_TO_DATA = 0x4
1785 NFT_LOOKUP_F_INV = 0x1
1786 NFTA_LOOKUP_UNSPEC = 0x0
1787 NFTA_LOOKUP_SET = 0x1
1788 NFTA_LOOKUP_SREG = 0x2
1789 NFTA_LOOKUP_DREG = 0x3
1790 NFTA_LOOKUP_SET_ID = 0x4
1791 NFTA_LOOKUP_FLAGS = 0x5
1792 NFT_DYNSET_OP_ADD = 0x0
1793 NFT_DYNSET_OP_UPDATE = 0x1
1794 NFT_DYNSET_F_INV = 0x1
1795 NFTA_DYNSET_UNSPEC = 0x0
1796 NFTA_DYNSET_SET_NAME = 0x1
1797 NFTA_DYNSET_SET_ID = 0x2
1798 NFTA_DYNSET_OP = 0x3
1799 NFTA_DYNSET_SREG_KEY = 0x4
1800 NFTA_DYNSET_SREG_DATA = 0x5
1801 NFTA_DYNSET_TIMEOUT = 0x6
1802 NFTA_DYNSET_EXPR = 0x7
1803 NFTA_DYNSET_PAD = 0x8
1804 NFTA_DYNSET_FLAGS = 0x9
1805 NFT_PAYLOAD_LL_HEADER = 0x0
1806 NFT_PAYLOAD_NETWORK_HEADER = 0x1
1807 NFT_PAYLOAD_TRANSPORT_HEADER = 0x2
1808 NFT_PAYLOAD_CSUM_NONE = 0x0
1809 NFT_PAYLOAD_CSUM_INET = 0x1
1810 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1
1811 NFTA_PAYLOAD_UNSPEC = 0x0
1812 NFTA_PAYLOAD_DREG = 0x1
1813 NFTA_PAYLOAD_BASE = 0x2
1814 NFTA_PAYLOAD_OFFSET = 0x3
1815 NFTA_PAYLOAD_LEN = 0x4
1816 NFTA_PAYLOAD_SREG = 0x5
1817 NFTA_PAYLOAD_CSUM_TYPE = 0x6
1818 NFTA_PAYLOAD_CSUM_OFFSET = 0x7
1819 NFTA_PAYLOAD_CSUM_FLAGS = 0x8
1820 NFT_EXTHDR_F_PRESENT = 0x1
1821 NFT_EXTHDR_OP_IPV6 = 0x0
1822 NFT_EXTHDR_OP_TCPOPT = 0x1
1823 NFTA_EXTHDR_UNSPEC = 0x0
1824 NFTA_EXTHDR_DREG = 0x1
1825 NFTA_EXTHDR_TYPE = 0x2
1826 NFTA_EXTHDR_OFFSET = 0x3
1827 NFTA_EXTHDR_LEN = 0x4
1828 NFTA_EXTHDR_FLAGS = 0x5
1829 NFTA_EXTHDR_OP = 0x6
1830 NFTA_EXTHDR_SREG = 0x7
1831 NFT_META_LEN = 0x0
1832 NFT_META_PROTOCOL = 0x1
1833 NFT_META_PRIORITY = 0x2
1834 NFT_META_MARK = 0x3
1835 NFT_META_IIF = 0x4
1836 NFT_META_OIF = 0x5
1837 NFT_META_IIFNAME = 0x6
1838 NFT_META_OIFNAME = 0x7
1839 NFT_META_IIFTYPE = 0x8
1840 NFT_META_OIFTYPE = 0x9
1841 NFT_META_SKUID = 0xa
1842 NFT_META_SKGID = 0xb
1843 NFT_META_NFTRACE = 0xc
1844 NFT_META_RTCLASSID = 0xd
1845 NFT_META_SECMARK = 0xe
1846 NFT_META_NFPROTO = 0xf
1847 NFT_META_L4PROTO = 0x10
1848 NFT_META_BRI_IIFNAME = 0x11
1849 NFT_META_BRI_OIFNAME = 0x12
1850 NFT_META_PKTTYPE = 0x13
1851 NFT_META_CPU = 0x14
1852 NFT_META_IIFGROUP = 0x15
1853 NFT_META_OIFGROUP = 0x16
1854 NFT_META_CGROUP = 0x17
1855 NFT_META_PRANDOM = 0x18
1856 NFT_RT_CLASSID = 0x0
1857 NFT_RT_NEXTHOP4 = 0x1
1858 NFT_RT_NEXTHOP6 = 0x2
1859 NFT_RT_TCPMSS = 0x3
1860 NFT_HASH_JENKINS = 0x0
1861 NFT_HASH_SYM = 0x1
1862 NFTA_HASH_UNSPEC = 0x0
1863 NFTA_HASH_SREG = 0x1
1864 NFTA_HASH_DREG = 0x2
1865 NFTA_HASH_LEN = 0x3
1866 NFTA_HASH_MODULUS = 0x4
1867 NFTA_HASH_SEED = 0x5
1868 NFTA_HASH_OFFSET = 0x6
1869 NFTA_HASH_TYPE = 0x7
1870 NFTA_META_UNSPEC = 0x0
1871 NFTA_META_DREG = 0x1
1872 NFTA_META_KEY = 0x2
1873 NFTA_META_SREG = 0x3
1874 NFTA_RT_UNSPEC = 0x0
1875 NFTA_RT_DREG = 0x1
1876 NFTA_RT_KEY = 0x2
1877 NFT_CT_STATE = 0x0
1878 NFT_CT_DIRECTION = 0x1
1879 NFT_CT_STATUS = 0x2
1880 NFT_CT_MARK = 0x3
1881 NFT_CT_SECMARK = 0x4
1882 NFT_CT_EXPIRATION = 0x5
1883 NFT_CT_HELPER = 0x6
1884 NFT_CT_L3PROTOCOL = 0x7
1885 NFT_CT_SRC = 0x8
1886 NFT_CT_DST = 0x9
1887 NFT_CT_PROTOCOL = 0xa
1888 NFT_CT_PROTO_SRC = 0xb
1889 NFT_CT_PROTO_DST = 0xc
1890 NFT_CT_LABELS = 0xd
1891 NFT_CT_PKTS = 0xe
1892 NFT_CT_BYTES = 0xf
1893 NFT_CT_AVGPKT = 0x10
1894 NFT_CT_ZONE = 0x11
1895 NFT_CT_EVENTMASK = 0x12
1896 NFTA_CT_UNSPEC = 0x0
1897 NFTA_CT_DREG = 0x1
1898 NFTA_CT_KEY = 0x2
1899 NFTA_CT_DIRECTION = 0x3
1900 NFTA_CT_SREG = 0x4
1901 NFT_LIMIT_PKTS = 0x0
1902 NFT_LIMIT_PKT_BYTES = 0x1
1903 NFT_LIMIT_F_INV = 0x1
1904 NFTA_LIMIT_UNSPEC = 0x0
1905 NFTA_LIMIT_RATE = 0x1
1906 NFTA_LIMIT_UNIT = 0x2
1907 NFTA_LIMIT_BURST = 0x3
1908 NFTA_LIMIT_TYPE = 0x4
1909 NFTA_LIMIT_FLAGS = 0x5
1910 NFTA_LIMIT_PAD = 0x6
1911 NFTA_COUNTER_UNSPEC = 0x0
1912 NFTA_COUNTER_BYTES = 0x1
1913 NFTA_COUNTER_PACKETS = 0x2
1914 NFTA_COUNTER_PAD = 0x3
1915 NFTA_LOG_UNSPEC = 0x0
1916 NFTA_LOG_GROUP = 0x1
1917 NFTA_LOG_PREFIX = 0x2
1918 NFTA_LOG_SNAPLEN = 0x3
1919 NFTA_LOG_QTHRESHOLD = 0x4
1920 NFTA_LOG_LEVEL = 0x5
1921 NFTA_LOG_FLAGS = 0x6
1922 NFTA_QUEUE_UNSPEC = 0x0
1923 NFTA_QUEUE_NUM = 0x1
1924 NFTA_QUEUE_TOTAL = 0x2
1925 NFTA_QUEUE_FLAGS = 0x3
1926 NFTA_QUEUE_SREG_QNUM = 0x4
1927 NFT_QUOTA_F_INV = 0x1
1928 NFT_QUOTA_F_DEPLETED = 0x2
1929 NFTA_QUOTA_UNSPEC = 0x0
1930 NFTA_QUOTA_BYTES = 0x1
1931 NFTA_QUOTA_FLAGS = 0x2
1932 NFTA_QUOTA_PAD = 0x3
1933 NFTA_QUOTA_CONSUMED = 0x4
1934 NFT_REJECT_ICMP_UNREACH = 0x0
1935 NFT_REJECT_TCP_RST = 0x1
1936 NFT_REJECT_ICMPX_UNREACH = 0x2
1937 NFT_REJECT_ICMPX_NO_ROUTE = 0x0
1938 NFT_REJECT_ICMPX_PORT_UNREACH = 0x1
1939 NFT_REJECT_ICMPX_HOST_UNREACH = 0x2
1940 NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
1941 NFTA_REJECT_UNSPEC = 0x0
1942 NFTA_REJECT_TYPE = 0x1
1943 NFTA_REJECT_ICMP_CODE = 0x2
1944 NFT_NAT_SNAT = 0x0
1945 NFT_NAT_DNAT = 0x1
1946 NFTA_NAT_UNSPEC = 0x0
1947 NFTA_NAT_TYPE = 0x1
1948 NFTA_NAT_FAMILY = 0x2
1949 NFTA_NAT_REG_ADDR_MIN = 0x3
1950 NFTA_NAT_REG_ADDR_MAX = 0x4
1951 NFTA_NAT_REG_PROTO_MIN = 0x5
1952 NFTA_NAT_REG_PROTO_MAX = 0x6
1953 NFTA_NAT_FLAGS = 0x7
1954 NFTA_MASQ_UNSPEC = 0x0
1955 NFTA_MASQ_FLAGS = 0x1
1956 NFTA_MASQ_REG_PROTO_MIN = 0x2
1957 NFTA_MASQ_REG_PROTO_MAX = 0x3
1958 NFTA_REDIR_UNSPEC = 0x0
1959 NFTA_REDIR_REG_PROTO_MIN = 0x1
1960 NFTA_REDIR_REG_PROTO_MAX = 0x2
1961 NFTA_REDIR_FLAGS = 0x3
1962 NFTA_DUP_UNSPEC = 0x0
1963 NFTA_DUP_SREG_ADDR = 0x1
1964 NFTA_DUP_SREG_DEV = 0x2
1965 NFTA_FWD_UNSPEC = 0x0
1966 NFTA_FWD_SREG_DEV = 0x1
1967 NFTA_OBJREF_UNSPEC = 0x0
1968 NFTA_OBJREF_IMM_TYPE = 0x1
1969 NFTA_OBJREF_IMM_NAME = 0x2
1970 NFTA_OBJREF_SET_SREG = 0x3
1971 NFTA_OBJREF_SET_NAME = 0x4
1972 NFTA_OBJREF_SET_ID = 0x5
1973 NFTA_GEN_UNSPEC = 0x0
1974 NFTA_GEN_ID = 0x1
1975 NFTA_GEN_PROC_PID = 0x2
1976 NFTA_GEN_PROC_NAME = 0x3
1977 NFTA_FIB_UNSPEC = 0x0
1978 NFTA_FIB_DREG = 0x1
1979 NFTA_FIB_RESULT = 0x2
1980 NFTA_FIB_FLAGS = 0x3
1981 NFT_FIB_RESULT_UNSPEC = 0x0
1982 NFT_FIB_RESULT_OIF = 0x1
1983 NFT_FIB_RESULT_OIFNAME = 0x2
1984 NFT_FIB_RESULT_ADDRTYPE = 0x3
1985 NFTA_FIB_F_SADDR = 0x1
1986 NFTA_FIB_F_DADDR = 0x2
1987 NFTA_FIB_F_MARK = 0x4
1988 NFTA_FIB_F_IIF = 0x8
1989 NFTA_FIB_F_OIF = 0x10
1990 NFTA_FIB_F_PRESENT = 0x20
1991 NFTA_CT_HELPER_UNSPEC = 0x0
1992 NFTA_CT_HELPER_NAME = 0x1
1993 NFTA_CT_HELPER_L3PROTO = 0x2
1994 NFTA_CT_HELPER_L4PROTO = 0x3
1995 NFTA_OBJ_UNSPEC = 0x0
1996 NFTA_OBJ_TABLE = 0x1
1997 NFTA_OBJ_NAME = 0x2
1998 NFTA_OBJ_TYPE = 0x3
1999 NFTA_OBJ_DATA = 0x4
2000 NFTA_OBJ_USE = 0x5
2001 NFTA_TRACE_UNSPEC = 0x0
2002 NFTA_TRACE_TABLE = 0x1
2003 NFTA_TRACE_CHAIN = 0x2
2004 NFTA_TRACE_RULE_HANDLE = 0x3
2005 NFTA_TRACE_TYPE = 0x4
2006 NFTA_TRACE_VERDICT = 0x5
2007 NFTA_TRACE_ID = 0x6
2008 NFTA_TRACE_LL_HEADER = 0x7
2009 NFTA_TRACE_NETWORK_HEADER = 0x8
2010 NFTA_TRACE_TRANSPORT_HEADER = 0x9
2011 NFTA_TRACE_IIF = 0xa
2012 NFTA_TRACE_IIFTYPE = 0xb
2013 NFTA_TRACE_OIF = 0xc
2014 NFTA_TRACE_OIFTYPE = 0xd
2015 NFTA_TRACE_MARK = 0xe
2016 NFTA_TRACE_NFPROTO = 0xf
2017 NFTA_TRACE_POLICY = 0x10
2018 NFTA_TRACE_PAD = 0x11
2019 NFT_TRACETYPE_UNSPEC = 0x0
2020 NFT_TRACETYPE_POLICY = 0x1
2021 NFT_TRACETYPE_RETURN = 0x2
2022 NFT_TRACETYPE_RULE = 0x3
2023 NFTA_NG_UNSPEC = 0x0
2024 NFTA_NG_DREG = 0x1
2025 NFTA_NG_MODULUS = 0x2
2026 NFTA_NG_TYPE = 0x3
2027 NFTA_NG_OFFSET = 0x4
2028 NFT_NG_INCREMENTAL = 0x0
2029 NFT_NG_RANDOM = 0x1
2030)
2031
2032type RTCTime struct {
2033 Sec int32
2034 Min int32
2035 Hour int32
2036 Mday int32
2037 Mon int32
2038 Year int32
2039 Wday int32
2040 Yday int32
2041 Isdst int32
2042}
2043
2044type RTCWkAlrm struct {
2045 Enabled uint8
2046 Pending uint8
2047 Time RTCTime
2048}
2049
2050type RTCPLLInfo struct {
2051 Ctrl int32
2052 Value int32
2053 Max int32
2054 Min int32
2055 Posmult int32
2056 Negmult int32
2057 Clock int32
2058}
2059
2060type BlkpgIoctlArg struct {
2061 Op int32
2062 Flags int32
2063 Datalen int32
2064 Data *byte
2065}
2066
2067type BlkpgPartition struct {
2068 Start int64
2069 Length int64
2070 Pno int32
2071 Devname [64]uint8
2072 Volname [64]uint8
2073 _ [4]byte
2074}
2075
2076const (
2077 BLKPG = 0x1269
2078 BLKPG_ADD_PARTITION = 0x1
2079 BLKPG_DEL_PARTITION = 0x2
2080 BLKPG_RESIZE_PARTITION = 0x3
2081)
2082
2083const (
2084 NETNSA_NONE = 0x0
2085 NETNSA_NSID = 0x1
2086 NETNSA_PID = 0x2
2087 NETNSA_FD = 0x3
2088)
2089
2090type XDPRingOffset struct {
2091 Producer uint64
2092 Consumer uint64
2093 Desc uint64
Matteo Scandolof9d43412021-01-12 11:11:34 -08002094 Flags uint64
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07002095}
2096
2097type XDPMmapOffsets struct {
2098 Rx XDPRingOffset
2099 Tx XDPRingOffset
2100 Fr XDPRingOffset
2101 Cr XDPRingOffset
2102}
2103
2104type XDPUmemReg struct {
2105 Addr uint64
2106 Len uint64
2107 Size uint32
2108 Headroom uint32
Matteo Scandolof9d43412021-01-12 11:11:34 -08002109 Flags uint32
2110 _ [4]byte
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07002111}
2112
2113type XDPStatistics struct {
2114 Rx_dropped uint64
2115 Rx_invalid_descs uint64
2116 Tx_invalid_descs uint64
2117}
2118
2119type XDPDesc struct {
2120 Addr uint64
2121 Len uint32
2122 Options uint32
2123}
2124
2125const (
2126 NCSI_CMD_UNSPEC = 0x0
2127 NCSI_CMD_PKG_INFO = 0x1
2128 NCSI_CMD_SET_INTERFACE = 0x2
2129 NCSI_CMD_CLEAR_INTERFACE = 0x3
2130 NCSI_ATTR_UNSPEC = 0x0
2131 NCSI_ATTR_IFINDEX = 0x1
2132 NCSI_ATTR_PACKAGE_LIST = 0x2
2133 NCSI_ATTR_PACKAGE_ID = 0x3
2134 NCSI_ATTR_CHANNEL_ID = 0x4
2135 NCSI_PKG_ATTR_UNSPEC = 0x0
2136 NCSI_PKG_ATTR = 0x1
2137 NCSI_PKG_ATTR_ID = 0x2
2138 NCSI_PKG_ATTR_FORCED = 0x3
2139 NCSI_PKG_ATTR_CHANNEL_LIST = 0x4
2140 NCSI_CHANNEL_ATTR_UNSPEC = 0x0
2141 NCSI_CHANNEL_ATTR = 0x1
2142 NCSI_CHANNEL_ATTR_ID = 0x2
2143 NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
2144 NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
2145 NCSI_CHANNEL_ATTR_VERSION_STR = 0x5
2146 NCSI_CHANNEL_ATTR_LINK_STATE = 0x6
2147 NCSI_CHANNEL_ATTR_ACTIVE = 0x7
2148 NCSI_CHANNEL_ATTR_FORCED = 0x8
2149 NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9
2150 NCSI_CHANNEL_ATTR_VLAN_ID = 0xa
2151)
2152
2153type ScmTimestamping struct {
2154 Ts [3]Timespec
2155}
2156
2157const (
2158 SOF_TIMESTAMPING_TX_HARDWARE = 0x1
2159 SOF_TIMESTAMPING_TX_SOFTWARE = 0x2
2160 SOF_TIMESTAMPING_RX_HARDWARE = 0x4
2161 SOF_TIMESTAMPING_RX_SOFTWARE = 0x8
2162 SOF_TIMESTAMPING_SOFTWARE = 0x10
2163 SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
2164 SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
2165 SOF_TIMESTAMPING_OPT_ID = 0x80
2166 SOF_TIMESTAMPING_TX_SCHED = 0x100
2167 SOF_TIMESTAMPING_TX_ACK = 0x200
2168 SOF_TIMESTAMPING_OPT_CMSG = 0x400
2169 SOF_TIMESTAMPING_OPT_TSONLY = 0x800
2170 SOF_TIMESTAMPING_OPT_STATS = 0x1000
2171 SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000
2172 SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000
2173
2174 SOF_TIMESTAMPING_LAST = 0x4000
2175 SOF_TIMESTAMPING_MASK = 0x7fff
2176
2177 SCM_TSTAMP_SND = 0x0
2178 SCM_TSTAMP_SCHED = 0x1
2179 SCM_TSTAMP_ACK = 0x2
2180)
2181
2182type SockExtendedErr struct {
2183 Errno uint32
2184 Origin uint8
2185 Type uint8
2186 Code uint8
2187 Pad uint8
2188 Info uint32
2189 Data uint32
2190}
2191
2192type FanotifyEventMetadata struct {
2193 Event_len uint32
2194 Vers uint8
2195 Reserved uint8
2196 Metadata_len uint16
2197 Mask uint64
2198 Fd int32
2199 Pid int32
2200}
2201
2202type FanotifyResponse struct {
2203 Fd int32
2204 Response uint32
2205}
Matteo Scandolof9d43412021-01-12 11:11:34 -08002206
2207const (
2208 CRYPTO_MSG_BASE = 0x10
2209 CRYPTO_MSG_NEWALG = 0x10
2210 CRYPTO_MSG_DELALG = 0x11
2211 CRYPTO_MSG_UPDATEALG = 0x12
2212 CRYPTO_MSG_GETALG = 0x13
2213 CRYPTO_MSG_DELRNG = 0x14
2214 CRYPTO_MSG_GETSTAT = 0x15
2215)
2216
2217const (
2218 CRYPTOCFGA_UNSPEC = 0x0
2219 CRYPTOCFGA_PRIORITY_VAL = 0x1
2220 CRYPTOCFGA_REPORT_LARVAL = 0x2
2221 CRYPTOCFGA_REPORT_HASH = 0x3
2222 CRYPTOCFGA_REPORT_BLKCIPHER = 0x4
2223 CRYPTOCFGA_REPORT_AEAD = 0x5
2224 CRYPTOCFGA_REPORT_COMPRESS = 0x6
2225 CRYPTOCFGA_REPORT_RNG = 0x7
2226 CRYPTOCFGA_REPORT_CIPHER = 0x8
2227 CRYPTOCFGA_REPORT_AKCIPHER = 0x9
2228 CRYPTOCFGA_REPORT_KPP = 0xa
2229 CRYPTOCFGA_REPORT_ACOMP = 0xb
2230 CRYPTOCFGA_STAT_LARVAL = 0xc
2231 CRYPTOCFGA_STAT_HASH = 0xd
2232 CRYPTOCFGA_STAT_BLKCIPHER = 0xe
2233 CRYPTOCFGA_STAT_AEAD = 0xf
2234 CRYPTOCFGA_STAT_COMPRESS = 0x10
2235 CRYPTOCFGA_STAT_RNG = 0x11
2236 CRYPTOCFGA_STAT_CIPHER = 0x12
2237 CRYPTOCFGA_STAT_AKCIPHER = 0x13
2238 CRYPTOCFGA_STAT_KPP = 0x14
2239 CRYPTOCFGA_STAT_ACOMP = 0x15
2240)
2241
2242type CryptoUserAlg struct {
2243 Name [64]uint8
2244 Driver_name [64]uint8
2245 Module_name [64]uint8
2246 Type uint32
2247 Mask uint32
2248 Refcnt uint32
2249 Flags uint32
2250}
2251
2252type CryptoStatAEAD struct {
2253 Type [64]uint8
2254 Encrypt_cnt uint64
2255 Encrypt_tlen uint64
2256 Decrypt_cnt uint64
2257 Decrypt_tlen uint64
2258 Err_cnt uint64
2259}
2260
2261type CryptoStatAKCipher struct {
2262 Type [64]uint8
2263 Encrypt_cnt uint64
2264 Encrypt_tlen uint64
2265 Decrypt_cnt uint64
2266 Decrypt_tlen uint64
2267 Verify_cnt uint64
2268 Sign_cnt uint64
2269 Err_cnt uint64
2270}
2271
2272type CryptoStatCipher struct {
2273 Type [64]uint8
2274 Encrypt_cnt uint64
2275 Encrypt_tlen uint64
2276 Decrypt_cnt uint64
2277 Decrypt_tlen uint64
2278 Err_cnt uint64
2279}
2280
2281type CryptoStatCompress struct {
2282 Type [64]uint8
2283 Compress_cnt uint64
2284 Compress_tlen uint64
2285 Decompress_cnt uint64
2286 Decompress_tlen uint64
2287 Err_cnt uint64
2288}
2289
2290type CryptoStatHash struct {
2291 Type [64]uint8
2292 Hash_cnt uint64
2293 Hash_tlen uint64
2294 Err_cnt uint64
2295}
2296
2297type CryptoStatKPP struct {
2298 Type [64]uint8
2299 Setsecret_cnt uint64
2300 Generate_public_key_cnt uint64
2301 Compute_shared_secret_cnt uint64
2302 Err_cnt uint64
2303}
2304
2305type CryptoStatRNG struct {
2306 Type [64]uint8
2307 Generate_cnt uint64
2308 Generate_tlen uint64
2309 Seed_cnt uint64
2310 Err_cnt uint64
2311}
2312
2313type CryptoStatLarval struct {
2314 Type [64]uint8
2315}
2316
2317type CryptoReportLarval struct {
2318 Type [64]uint8
2319}
2320
2321type CryptoReportHash struct {
2322 Type [64]uint8
2323 Blocksize uint32
2324 Digestsize uint32
2325}
2326
2327type CryptoReportCipher struct {
2328 Type [64]uint8
2329 Blocksize uint32
2330 Min_keysize uint32
2331 Max_keysize uint32
2332}
2333
2334type CryptoReportBlkCipher struct {
2335 Type [64]uint8
2336 Geniv [64]uint8
2337 Blocksize uint32
2338 Min_keysize uint32
2339 Max_keysize uint32
2340 Ivsize uint32
2341}
2342
2343type CryptoReportAEAD struct {
2344 Type [64]uint8
2345 Geniv [64]uint8
2346 Blocksize uint32
2347 Maxauthsize uint32
2348 Ivsize uint32
2349}
2350
2351type CryptoReportComp struct {
2352 Type [64]uint8
2353}
2354
2355type CryptoReportRNG struct {
2356 Type [64]uint8
2357 Seedsize uint32
2358}
2359
2360type CryptoReportAKCipher struct {
2361 Type [64]uint8
2362}
2363
2364type CryptoReportKPP struct {
2365 Type [64]uint8
2366}
2367
2368type CryptoReportAcomp struct {
2369 Type [64]uint8
2370}
2371
2372const (
2373 BPF_REG_0 = 0x0
2374 BPF_REG_1 = 0x1
2375 BPF_REG_2 = 0x2
2376 BPF_REG_3 = 0x3
2377 BPF_REG_4 = 0x4
2378 BPF_REG_5 = 0x5
2379 BPF_REG_6 = 0x6
2380 BPF_REG_7 = 0x7
2381 BPF_REG_8 = 0x8
2382 BPF_REG_9 = 0x9
2383 BPF_REG_10 = 0xa
2384 BPF_MAP_CREATE = 0x0
2385 BPF_MAP_LOOKUP_ELEM = 0x1
2386 BPF_MAP_UPDATE_ELEM = 0x2
2387 BPF_MAP_DELETE_ELEM = 0x3
2388 BPF_MAP_GET_NEXT_KEY = 0x4
2389 BPF_PROG_LOAD = 0x5
2390 BPF_OBJ_PIN = 0x6
2391 BPF_OBJ_GET = 0x7
2392 BPF_PROG_ATTACH = 0x8
2393 BPF_PROG_DETACH = 0x9
2394 BPF_PROG_TEST_RUN = 0xa
2395 BPF_PROG_GET_NEXT_ID = 0xb
2396 BPF_MAP_GET_NEXT_ID = 0xc
2397 BPF_PROG_GET_FD_BY_ID = 0xd
2398 BPF_MAP_GET_FD_BY_ID = 0xe
2399 BPF_OBJ_GET_INFO_BY_FD = 0xf
2400 BPF_PROG_QUERY = 0x10
2401 BPF_RAW_TRACEPOINT_OPEN = 0x11
2402 BPF_BTF_LOAD = 0x12
2403 BPF_BTF_GET_FD_BY_ID = 0x13
2404 BPF_TASK_FD_QUERY = 0x14
2405 BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15
2406 BPF_MAP_TYPE_UNSPEC = 0x0
2407 BPF_MAP_TYPE_HASH = 0x1
2408 BPF_MAP_TYPE_ARRAY = 0x2
2409 BPF_MAP_TYPE_PROG_ARRAY = 0x3
2410 BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4
2411 BPF_MAP_TYPE_PERCPU_HASH = 0x5
2412 BPF_MAP_TYPE_PERCPU_ARRAY = 0x6
2413 BPF_MAP_TYPE_STACK_TRACE = 0x7
2414 BPF_MAP_TYPE_CGROUP_ARRAY = 0x8
2415 BPF_MAP_TYPE_LRU_HASH = 0x9
2416 BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa
2417 BPF_MAP_TYPE_LPM_TRIE = 0xb
2418 BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc
2419 BPF_MAP_TYPE_HASH_OF_MAPS = 0xd
2420 BPF_MAP_TYPE_DEVMAP = 0xe
2421 BPF_MAP_TYPE_SOCKMAP = 0xf
2422 BPF_MAP_TYPE_CPUMAP = 0x10
2423 BPF_MAP_TYPE_XSKMAP = 0x11
2424 BPF_MAP_TYPE_SOCKHASH = 0x12
2425 BPF_MAP_TYPE_CGROUP_STORAGE = 0x13
2426 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14
2427 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15
2428 BPF_MAP_TYPE_QUEUE = 0x16
2429 BPF_MAP_TYPE_STACK = 0x17
2430 BPF_PROG_TYPE_UNSPEC = 0x0
2431 BPF_PROG_TYPE_SOCKET_FILTER = 0x1
2432 BPF_PROG_TYPE_KPROBE = 0x2
2433 BPF_PROG_TYPE_SCHED_CLS = 0x3
2434 BPF_PROG_TYPE_SCHED_ACT = 0x4
2435 BPF_PROG_TYPE_TRACEPOINT = 0x5
2436 BPF_PROG_TYPE_XDP = 0x6
2437 BPF_PROG_TYPE_PERF_EVENT = 0x7
2438 BPF_PROG_TYPE_CGROUP_SKB = 0x8
2439 BPF_PROG_TYPE_CGROUP_SOCK = 0x9
2440 BPF_PROG_TYPE_LWT_IN = 0xa
2441 BPF_PROG_TYPE_LWT_OUT = 0xb
2442 BPF_PROG_TYPE_LWT_XMIT = 0xc
2443 BPF_PROG_TYPE_SOCK_OPS = 0xd
2444 BPF_PROG_TYPE_SK_SKB = 0xe
2445 BPF_PROG_TYPE_CGROUP_DEVICE = 0xf
2446 BPF_PROG_TYPE_SK_MSG = 0x10
2447 BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11
2448 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12
2449 BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13
2450 BPF_PROG_TYPE_LIRC_MODE2 = 0x14
2451 BPF_PROG_TYPE_SK_REUSEPORT = 0x15
2452 BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16
2453 BPF_CGROUP_INET_INGRESS = 0x0
2454 BPF_CGROUP_INET_EGRESS = 0x1
2455 BPF_CGROUP_INET_SOCK_CREATE = 0x2
2456 BPF_CGROUP_SOCK_OPS = 0x3
2457 BPF_SK_SKB_STREAM_PARSER = 0x4
2458 BPF_SK_SKB_STREAM_VERDICT = 0x5
2459 BPF_CGROUP_DEVICE = 0x6
2460 BPF_SK_MSG_VERDICT = 0x7
2461 BPF_CGROUP_INET4_BIND = 0x8
2462 BPF_CGROUP_INET6_BIND = 0x9
2463 BPF_CGROUP_INET4_CONNECT = 0xa
2464 BPF_CGROUP_INET6_CONNECT = 0xb
2465 BPF_CGROUP_INET4_POST_BIND = 0xc
2466 BPF_CGROUP_INET6_POST_BIND = 0xd
2467 BPF_CGROUP_UDP4_SENDMSG = 0xe
2468 BPF_CGROUP_UDP6_SENDMSG = 0xf
2469 BPF_LIRC_MODE2 = 0x10
2470 BPF_FLOW_DISSECTOR = 0x11
2471 BPF_STACK_BUILD_ID_EMPTY = 0x0
2472 BPF_STACK_BUILD_ID_VALID = 0x1
2473 BPF_STACK_BUILD_ID_IP = 0x2
2474 BPF_ADJ_ROOM_NET = 0x0
2475 BPF_HDR_START_MAC = 0x0
2476 BPF_HDR_START_NET = 0x1
2477 BPF_LWT_ENCAP_SEG6 = 0x0
2478 BPF_LWT_ENCAP_SEG6_INLINE = 0x1
2479 BPF_OK = 0x0
2480 BPF_DROP = 0x2
2481 BPF_REDIRECT = 0x7
2482 BPF_SOCK_OPS_VOID = 0x0
2483 BPF_SOCK_OPS_TIMEOUT_INIT = 0x1
2484 BPF_SOCK_OPS_RWND_INIT = 0x2
2485 BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3
2486 BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4
2487 BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5
2488 BPF_SOCK_OPS_NEEDS_ECN = 0x6
2489 BPF_SOCK_OPS_BASE_RTT = 0x7
2490 BPF_SOCK_OPS_RTO_CB = 0x8
2491 BPF_SOCK_OPS_RETRANS_CB = 0x9
2492 BPF_SOCK_OPS_STATE_CB = 0xa
2493 BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb
2494 BPF_TCP_ESTABLISHED = 0x1
2495 BPF_TCP_SYN_SENT = 0x2
2496 BPF_TCP_SYN_RECV = 0x3
2497 BPF_TCP_FIN_WAIT1 = 0x4
2498 BPF_TCP_FIN_WAIT2 = 0x5
2499 BPF_TCP_TIME_WAIT = 0x6
2500 BPF_TCP_CLOSE = 0x7
2501 BPF_TCP_CLOSE_WAIT = 0x8
2502 BPF_TCP_LAST_ACK = 0x9
2503 BPF_TCP_LISTEN = 0xa
2504 BPF_TCP_CLOSING = 0xb
2505 BPF_TCP_NEW_SYN_RECV = 0xc
2506 BPF_TCP_MAX_STATES = 0xd
2507 BPF_FIB_LKUP_RET_SUCCESS = 0x0
2508 BPF_FIB_LKUP_RET_BLACKHOLE = 0x1
2509 BPF_FIB_LKUP_RET_UNREACHABLE = 0x2
2510 BPF_FIB_LKUP_RET_PROHIBIT = 0x3
2511 BPF_FIB_LKUP_RET_NOT_FWDED = 0x4
2512 BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5
2513 BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6
2514 BPF_FIB_LKUP_RET_NO_NEIGH = 0x7
2515 BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8
2516 BPF_FD_TYPE_RAW_TRACEPOINT = 0x0
2517 BPF_FD_TYPE_TRACEPOINT = 0x1
2518 BPF_FD_TYPE_KPROBE = 0x2
2519 BPF_FD_TYPE_KRETPROBE = 0x3
2520 BPF_FD_TYPE_UPROBE = 0x4
2521 BPF_FD_TYPE_URETPROBE = 0x5
2522)
2523
2524const (
2525 RTNLGRP_NONE = 0x0
2526 RTNLGRP_LINK = 0x1
2527 RTNLGRP_NOTIFY = 0x2
2528 RTNLGRP_NEIGH = 0x3
2529 RTNLGRP_TC = 0x4
2530 RTNLGRP_IPV4_IFADDR = 0x5
2531 RTNLGRP_IPV4_MROUTE = 0x6
2532 RTNLGRP_IPV4_ROUTE = 0x7
2533 RTNLGRP_IPV4_RULE = 0x8
2534 RTNLGRP_IPV6_IFADDR = 0x9
2535 RTNLGRP_IPV6_MROUTE = 0xa
2536 RTNLGRP_IPV6_ROUTE = 0xb
2537 RTNLGRP_IPV6_IFINFO = 0xc
2538 RTNLGRP_DECnet_IFADDR = 0xd
2539 RTNLGRP_NOP2 = 0xe
2540 RTNLGRP_DECnet_ROUTE = 0xf
2541 RTNLGRP_DECnet_RULE = 0x10
2542 RTNLGRP_NOP4 = 0x11
2543 RTNLGRP_IPV6_PREFIX = 0x12
2544 RTNLGRP_IPV6_RULE = 0x13
2545 RTNLGRP_ND_USEROPT = 0x14
2546 RTNLGRP_PHONET_IFADDR = 0x15
2547 RTNLGRP_PHONET_ROUTE = 0x16
2548 RTNLGRP_DCB = 0x17
2549 RTNLGRP_IPV4_NETCONF = 0x18
2550 RTNLGRP_IPV6_NETCONF = 0x19
2551 RTNLGRP_MDB = 0x1a
2552 RTNLGRP_MPLS_ROUTE = 0x1b
2553 RTNLGRP_NSID = 0x1c
2554 RTNLGRP_MPLS_NETCONF = 0x1d
2555 RTNLGRP_IPV4_MROUTE_R = 0x1e
2556 RTNLGRP_IPV6_MROUTE_R = 0x1f
2557 RTNLGRP_NEXTHOP = 0x20
2558)
2559
2560type CapUserHeader struct {
2561 Version uint32
2562 Pid int32
2563}
2564
2565type CapUserData struct {
2566 Effective uint32
2567 Permitted uint32
2568 Inheritable uint32
2569}
2570
2571const (
2572 LINUX_CAPABILITY_VERSION_1 = 0x19980330
2573 LINUX_CAPABILITY_VERSION_2 = 0x20071026
2574 LINUX_CAPABILITY_VERSION_3 = 0x20080522
2575)
2576
2577const (
2578 LO_FLAGS_READ_ONLY = 0x1
2579 LO_FLAGS_AUTOCLEAR = 0x4
2580 LO_FLAGS_PARTSCAN = 0x8
2581 LO_FLAGS_DIRECT_IO = 0x10
2582)
2583
2584type LoopInfo struct {
2585 Number int32
2586 Device uint16
2587 Inode uint32
2588 Rdevice uint16
2589 Offset int32
2590 Encrypt_type int32
2591 Encrypt_key_size int32
2592 Flags int32
2593 Name [64]uint8
2594 Encrypt_key [32]uint8
2595 Init [2]uint32
2596 Reserved [4]uint8
2597}
2598type LoopInfo64 struct {
2599 Device uint64
2600 Inode uint64
2601 Rdevice uint64
2602 Offset uint64
2603 Sizelimit uint64
2604 Number uint32
2605 Encrypt_type uint32
2606 Encrypt_key_size uint32
2607 Flags uint32
2608 File_name [64]uint8
2609 Crypt_name [64]uint8
2610 Encrypt_key [32]uint8
2611 Init [2]uint64
2612}
2613
2614type TIPCSocketAddr struct {
2615 Ref uint32
2616 Node uint32
2617}
2618
2619type TIPCServiceRange struct {
2620 Type uint32
2621 Lower uint32
2622 Upper uint32
2623}
2624
2625type TIPCServiceName struct {
2626 Type uint32
2627 Instance uint32
2628 Domain uint32
2629}
2630
2631type TIPCSubscr struct {
2632 Seq TIPCServiceRange
2633 Timeout uint32
2634 Filter uint32
2635 Handle [8]uint8
2636}
2637
2638type TIPCEvent struct {
2639 Event uint32
2640 Lower uint32
2641 Upper uint32
2642 Port TIPCSocketAddr
2643 S TIPCSubscr
2644}
2645
2646type TIPCGroupReq struct {
2647 Type uint32
2648 Instance uint32
2649 Scope uint32
2650 Flags uint32
2651}
2652
2653type TIPCSIOCLNReq struct {
2654 Peer uint32
2655 Id uint32
2656 Linkname [68]uint8
2657}
2658
2659type TIPCSIOCNodeIDReq struct {
2660 Peer uint32
2661 Id [16]uint8
2662}
2663
2664const (
2665 TIPC_CLUSTER_SCOPE = 0x2
2666 TIPC_NODE_SCOPE = 0x3
2667)
2668
2669const (
2670 SYSLOG_ACTION_CLOSE = 0
2671 SYSLOG_ACTION_OPEN = 1
2672 SYSLOG_ACTION_READ = 2
2673 SYSLOG_ACTION_READ_ALL = 3
2674 SYSLOG_ACTION_READ_CLEAR = 4
2675 SYSLOG_ACTION_CLEAR = 5
2676 SYSLOG_ACTION_CONSOLE_OFF = 6
2677 SYSLOG_ACTION_CONSOLE_ON = 7
2678 SYSLOG_ACTION_CONSOLE_LEVEL = 8
2679 SYSLOG_ACTION_SIZE_UNREAD = 9
2680 SYSLOG_ACTION_SIZE_BUFFER = 10
2681)
2682
2683const (
2684 DEVLINK_CMD_UNSPEC = 0x0
2685 DEVLINK_CMD_GET = 0x1
2686 DEVLINK_CMD_SET = 0x2
2687 DEVLINK_CMD_NEW = 0x3
2688 DEVLINK_CMD_DEL = 0x4
2689 DEVLINK_CMD_PORT_GET = 0x5
2690 DEVLINK_CMD_PORT_SET = 0x6
2691 DEVLINK_CMD_PORT_NEW = 0x7
2692 DEVLINK_CMD_PORT_DEL = 0x8
2693 DEVLINK_CMD_PORT_SPLIT = 0x9
2694 DEVLINK_CMD_PORT_UNSPLIT = 0xa
2695 DEVLINK_CMD_SB_GET = 0xb
2696 DEVLINK_CMD_SB_SET = 0xc
2697 DEVLINK_CMD_SB_NEW = 0xd
2698 DEVLINK_CMD_SB_DEL = 0xe
2699 DEVLINK_CMD_SB_POOL_GET = 0xf
2700 DEVLINK_CMD_SB_POOL_SET = 0x10
2701 DEVLINK_CMD_SB_POOL_NEW = 0x11
2702 DEVLINK_CMD_SB_POOL_DEL = 0x12
2703 DEVLINK_CMD_SB_PORT_POOL_GET = 0x13
2704 DEVLINK_CMD_SB_PORT_POOL_SET = 0x14
2705 DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15
2706 DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16
2707 DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17
2708 DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18
2709 DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19
2710 DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a
2711 DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b
2712 DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c
2713 DEVLINK_CMD_ESWITCH_GET = 0x1d
2714 DEVLINK_CMD_ESWITCH_SET = 0x1e
2715 DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f
2716 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
2717 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
2718 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
2719 DEVLINK_CMD_MAX = 0x44
2720 DEVLINK_PORT_TYPE_NOTSET = 0x0
2721 DEVLINK_PORT_TYPE_AUTO = 0x1
2722 DEVLINK_PORT_TYPE_ETH = 0x2
2723 DEVLINK_PORT_TYPE_IB = 0x3
2724 DEVLINK_SB_POOL_TYPE_INGRESS = 0x0
2725 DEVLINK_SB_POOL_TYPE_EGRESS = 0x1
2726 DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0
2727 DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1
2728 DEVLINK_ESWITCH_MODE_LEGACY = 0x0
2729 DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1
2730 DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0
2731 DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1
2732 DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2
2733 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3
2734 DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0
2735 DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1
2736 DEVLINK_ATTR_UNSPEC = 0x0
2737 DEVLINK_ATTR_BUS_NAME = 0x1
2738 DEVLINK_ATTR_DEV_NAME = 0x2
2739 DEVLINK_ATTR_PORT_INDEX = 0x3
2740 DEVLINK_ATTR_PORT_TYPE = 0x4
2741 DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5
2742 DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6
2743 DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7
2744 DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8
2745 DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9
2746 DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa
2747 DEVLINK_ATTR_SB_INDEX = 0xb
2748 DEVLINK_ATTR_SB_SIZE = 0xc
2749 DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd
2750 DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe
2751 DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf
2752 DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10
2753 DEVLINK_ATTR_SB_POOL_INDEX = 0x11
2754 DEVLINK_ATTR_SB_POOL_TYPE = 0x12
2755 DEVLINK_ATTR_SB_POOL_SIZE = 0x13
2756 DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14
2757 DEVLINK_ATTR_SB_THRESHOLD = 0x15
2758 DEVLINK_ATTR_SB_TC_INDEX = 0x16
2759 DEVLINK_ATTR_SB_OCC_CUR = 0x17
2760 DEVLINK_ATTR_SB_OCC_MAX = 0x18
2761 DEVLINK_ATTR_ESWITCH_MODE = 0x19
2762 DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a
2763 DEVLINK_ATTR_DPIPE_TABLES = 0x1b
2764 DEVLINK_ATTR_DPIPE_TABLE = 0x1c
2765 DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d
2766 DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e
2767 DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f
2768 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20
2769 DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21
2770 DEVLINK_ATTR_DPIPE_ENTRIES = 0x22
2771 DEVLINK_ATTR_DPIPE_ENTRY = 0x23
2772 DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24
2773 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25
2774 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26
2775 DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27
2776 DEVLINK_ATTR_DPIPE_MATCH = 0x28
2777 DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29
2778 DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a
2779 DEVLINK_ATTR_DPIPE_ACTION = 0x2b
2780 DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c
2781 DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d
2782 DEVLINK_ATTR_DPIPE_VALUE = 0x2e
2783 DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f
2784 DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30
2785 DEVLINK_ATTR_DPIPE_HEADERS = 0x31
2786 DEVLINK_ATTR_DPIPE_HEADER = 0x32
2787 DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33
2788 DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34
2789 DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35
2790 DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36
2791 DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37
2792 DEVLINK_ATTR_DPIPE_FIELD = 0x38
2793 DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39
2794 DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a
2795 DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b
2796 DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
2797 DEVLINK_ATTR_PAD = 0x3d
2798 DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
2799 DEVLINK_ATTR_MAX = 0x8c
2800 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
2801 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
2802 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
2803 DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0
2804 DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0
2805 DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0
2806 DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0
2807 DEVLINK_DPIPE_HEADER_ETHERNET = 0x0
2808 DEVLINK_DPIPE_HEADER_IPV4 = 0x1
2809 DEVLINK_DPIPE_HEADER_IPV6 = 0x2
2810)