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