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