blob: ea231fa92f5f003b7d03744bdd4fa86d42b0737f [file] [log] [blame]
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go
2// Code generated by the command above; see README.md. DO NOT EDIT.
3
4// +build arm64,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 uint64
110 Ino uint64
111 Mode uint32
112 Nlink uint32
113 Uid uint32
114 Gid uint32
115 Rdev uint64
116 _ uint64
117 Size int64
118 Blksize int32
119 _ int32
120 Blocks int64
121 Atim Timespec
122 Mtim Timespec
123 Ctim Timespec
124 _ [2]int32
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 [31]uint64
796 Sp uint64
797 Pc uint64
798 Pstate uint64
799}
800
801type FdSet struct {
802 Bits [16]int64
803}
804
805type Sysinfo_t struct {
806 Uptime int64
807 Loads [3]uint64
808 Totalram uint64
809 Freeram uint64
810 Sharedram uint64
811 Bufferram uint64
812 Totalswap uint64
813 Freeswap uint64
814 Procs uint16
815 Pad uint16
816 Totalhigh uint64
817 Freehigh uint64
818 Unit uint32
819 _ [0]int8
820 _ [4]byte
821}
822
823type Utsname struct {
824 Sysname [65]byte
825 Nodename [65]byte
826 Release [65]byte
827 Version [65]byte
828 Machine [65]byte
829 Domainname [65]byte
830}
831
832type Ustat_t struct {
833 Tfree int32
834 Tinode uint64
835 Fname [6]int8
836 Fpack [6]int8
837 _ [4]byte
838}
839
840type EpollEvent struct {
841 Events uint32
842 PadFd int32
843 Fd int32
844 Pad int32
845}
846
847const (
848 AT_EMPTY_PATH = 0x1000
849 AT_FDCWD = -0x64
850 AT_NO_AUTOMOUNT = 0x800
851 AT_REMOVEDIR = 0x200
852
853 AT_STATX_SYNC_AS_STAT = 0x0
854 AT_STATX_FORCE_SYNC = 0x2000
855 AT_STATX_DONT_SYNC = 0x4000
856
857 AT_SYMLINK_FOLLOW = 0x400
858 AT_SYMLINK_NOFOLLOW = 0x100
859
860 AT_EACCESS = 0x200
861)
862
863type PollFd struct {
864 Fd int32
865 Events int16
866 Revents int16
867}
868
869const (
870 POLLIN = 0x1
871 POLLPRI = 0x2
872 POLLOUT = 0x4
873 POLLRDHUP = 0x2000
874 POLLERR = 0x8
875 POLLHUP = 0x10
876 POLLNVAL = 0x20
877)
878
879type Sigset_t struct {
880 Val [16]uint64
881}
882
Matteo Scandolof9d43412021-01-12 11:11:34 -0800883const _C__NSIG = 0x41
884
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -0700885type SignalfdSiginfo struct {
886 Signo uint32
887 Errno int32
888 Code int32
889 Pid uint32
890 Uid uint32
891 Fd int32
892 Tid uint32
893 Band uint32
894 Overrun uint32
895 Trapno uint32
896 Status int32
897 Int int32
898 Ptr uint64
899 Utime uint64
900 Stime uint64
901 Addr uint64
902 Addr_lsb uint16
903 _ uint16
904 Syscall int32
905 Call_addr uint64
906 Arch uint32
907 _ [28]uint8
908}
909
910const PERF_IOC_FLAG_GROUP = 0x1
911
912type Termios struct {
913 Iflag uint32
914 Oflag uint32
915 Cflag uint32
916 Lflag uint32
917 Line uint8
918 Cc [19]uint8
919 Ispeed uint32
920 Ospeed uint32
921}
922
923type Winsize struct {
924 Row uint16
925 Col uint16
926 Xpixel uint16
927 Ypixel uint16
928}
929
930type Taskstats struct {
931 Version uint16
932 Ac_exitcode uint32
933 Ac_flag uint8
934 Ac_nice uint8
935 Cpu_count uint64
936 Cpu_delay_total uint64
937 Blkio_count uint64
938 Blkio_delay_total uint64
939 Swapin_count uint64
940 Swapin_delay_total uint64
941 Cpu_run_real_total uint64
942 Cpu_run_virtual_total uint64
943 Ac_comm [32]int8
944 Ac_sched uint8
945 Ac_pad [3]uint8
946 _ [4]byte
947 Ac_uid uint32
948 Ac_gid uint32
949 Ac_pid uint32
950 Ac_ppid uint32
951 Ac_btime uint32
952 Ac_etime uint64
953 Ac_utime uint64
954 Ac_stime uint64
955 Ac_minflt uint64
956 Ac_majflt uint64
957 Coremem uint64
958 Virtmem uint64
959 Hiwater_rss uint64
960 Hiwater_vm uint64
961 Read_char uint64
962 Write_char uint64
963 Read_syscalls uint64
964 Write_syscalls uint64
965 Read_bytes uint64
966 Write_bytes uint64
967 Cancelled_write_bytes uint64
968 Nvcsw uint64
969 Nivcsw uint64
970 Ac_utimescaled uint64
971 Ac_stimescaled uint64
972 Cpu_scaled_run_real_total uint64
973 Freepages_count uint64
974 Freepages_delay_total uint64
975 Thrashing_count uint64
976 Thrashing_delay_total uint64
977}
978
979const (
980 TASKSTATS_CMD_UNSPEC = 0x0
981 TASKSTATS_CMD_GET = 0x1
982 TASKSTATS_CMD_NEW = 0x2
983 TASKSTATS_TYPE_UNSPEC = 0x0
984 TASKSTATS_TYPE_PID = 0x1
985 TASKSTATS_TYPE_TGID = 0x2
986 TASKSTATS_TYPE_STATS = 0x3
987 TASKSTATS_TYPE_AGGR_PID = 0x4
988 TASKSTATS_TYPE_AGGR_TGID = 0x5
989 TASKSTATS_TYPE_NULL = 0x6
990 TASKSTATS_CMD_ATTR_UNSPEC = 0x0
991 TASKSTATS_CMD_ATTR_PID = 0x1
992 TASKSTATS_CMD_ATTR_TGID = 0x2
993 TASKSTATS_CMD_ATTR_REGISTER_CPUMASK = 0x3
994 TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
995)
996
997type CGroupStats struct {
998 Sleeping uint64
999 Running uint64
1000 Stopped uint64
1001 Uninterruptible uint64
1002 Io_wait uint64
1003}
1004
1005const (
1006 CGROUPSTATS_CMD_UNSPEC = 0x3
1007 CGROUPSTATS_CMD_GET = 0x4
1008 CGROUPSTATS_CMD_NEW = 0x5
1009 CGROUPSTATS_TYPE_UNSPEC = 0x0
1010 CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
1011 CGROUPSTATS_CMD_ATTR_UNSPEC = 0x0
1012 CGROUPSTATS_CMD_ATTR_FD = 0x1
1013)
1014
1015type Genlmsghdr struct {
1016 Cmd uint8
1017 Version uint8
1018 Reserved uint16
1019}
1020
1021const (
1022 CTRL_CMD_UNSPEC = 0x0
1023 CTRL_CMD_NEWFAMILY = 0x1
1024 CTRL_CMD_DELFAMILY = 0x2
1025 CTRL_CMD_GETFAMILY = 0x3
1026 CTRL_CMD_NEWOPS = 0x4
1027 CTRL_CMD_DELOPS = 0x5
1028 CTRL_CMD_GETOPS = 0x6
1029 CTRL_CMD_NEWMCAST_GRP = 0x7
1030 CTRL_CMD_DELMCAST_GRP = 0x8
1031 CTRL_CMD_GETMCAST_GRP = 0x9
1032 CTRL_ATTR_UNSPEC = 0x0
1033 CTRL_ATTR_FAMILY_ID = 0x1
1034 CTRL_ATTR_FAMILY_NAME = 0x2
1035 CTRL_ATTR_VERSION = 0x3
1036 CTRL_ATTR_HDRSIZE = 0x4
1037 CTRL_ATTR_MAXATTR = 0x5
1038 CTRL_ATTR_OPS = 0x6
1039 CTRL_ATTR_MCAST_GROUPS = 0x7
1040 CTRL_ATTR_OP_UNSPEC = 0x0
1041 CTRL_ATTR_OP_ID = 0x1
1042 CTRL_ATTR_OP_FLAGS = 0x2
1043 CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
1044 CTRL_ATTR_MCAST_GRP_NAME = 0x1
1045 CTRL_ATTR_MCAST_GRP_ID = 0x2
1046)
1047
1048type cpuMask uint64
1049
1050const (
1051 _CPU_SETSIZE = 0x400
1052 _NCPUBITS = 0x40
1053)
1054
1055const (
1056 BDADDR_BREDR = 0x0
1057 BDADDR_LE_PUBLIC = 0x1
1058 BDADDR_LE_RANDOM = 0x2
1059)
1060
1061type PerfEventAttr struct {
1062 Type uint32
1063 Size uint32
1064 Config uint64
1065 Sample uint64
1066 Sample_type uint64
1067 Read_format uint64
1068 Bits uint64
1069 Wakeup uint32
1070 Bp_type uint32
1071 Ext1 uint64
1072 Ext2 uint64
1073 Branch_sample_type uint64
1074 Sample_regs_user uint64
1075 Sample_stack_user uint32
1076 Clockid int32
1077 Sample_regs_intr uint64
1078 Aux_watermark uint32
1079 Sample_max_stack uint16
1080 _ uint16
1081}
1082
1083type PerfEventMmapPage struct {
1084 Version uint32
1085 Compat_version uint32
1086 Lock uint32
1087 Index uint32
1088 Offset int64
1089 Time_enabled uint64
1090 Time_running uint64
1091 Capabilities uint64
1092 Pmc_width uint16
1093 Time_shift uint16
1094 Time_mult uint32
1095 Time_offset uint64
1096 Time_zero uint64
1097 Size uint32
1098 _ [948]uint8
1099 Data_head uint64
1100 Data_tail uint64
1101 Data_offset uint64
1102 Data_size uint64
1103 Aux_head uint64
1104 Aux_tail uint64
1105 Aux_offset uint64
1106 Aux_size uint64
1107}
1108
1109const (
1110 PerfBitDisabled uint64 = CBitFieldMaskBit0
1111 PerfBitInherit = CBitFieldMaskBit1
1112 PerfBitPinned = CBitFieldMaskBit2
1113 PerfBitExclusive = CBitFieldMaskBit3
1114 PerfBitExcludeUser = CBitFieldMaskBit4
1115 PerfBitExcludeKernel = CBitFieldMaskBit5
1116 PerfBitExcludeHv = CBitFieldMaskBit6
1117 PerfBitExcludeIdle = CBitFieldMaskBit7
1118 PerfBitMmap = CBitFieldMaskBit8
1119 PerfBitComm = CBitFieldMaskBit9
1120 PerfBitFreq = CBitFieldMaskBit10
1121 PerfBitInheritStat = CBitFieldMaskBit11
1122 PerfBitEnableOnExec = CBitFieldMaskBit12
1123 PerfBitTask = CBitFieldMaskBit13
1124 PerfBitWatermark = CBitFieldMaskBit14
1125 PerfBitPreciseIPBit1 = CBitFieldMaskBit15
1126 PerfBitPreciseIPBit2 = CBitFieldMaskBit16
1127 PerfBitMmapData = CBitFieldMaskBit17
1128 PerfBitSampleIDAll = CBitFieldMaskBit18
1129 PerfBitExcludeHost = CBitFieldMaskBit19
1130 PerfBitExcludeGuest = CBitFieldMaskBit20
1131 PerfBitExcludeCallchainKernel = CBitFieldMaskBit21
1132 PerfBitExcludeCallchainUser = CBitFieldMaskBit22
1133 PerfBitMmap2 = CBitFieldMaskBit23
1134 PerfBitCommExec = CBitFieldMaskBit24
1135 PerfBitUseClockID = CBitFieldMaskBit25
1136 PerfBitContextSwitch = CBitFieldMaskBit26
1137)
1138
1139const (
1140 PERF_TYPE_HARDWARE = 0x0
1141 PERF_TYPE_SOFTWARE = 0x1
1142 PERF_TYPE_TRACEPOINT = 0x2
1143 PERF_TYPE_HW_CACHE = 0x3
1144 PERF_TYPE_RAW = 0x4
1145 PERF_TYPE_BREAKPOINT = 0x5
1146
1147 PERF_COUNT_HW_CPU_CYCLES = 0x0
1148 PERF_COUNT_HW_INSTRUCTIONS = 0x1
1149 PERF_COUNT_HW_CACHE_REFERENCES = 0x2
1150 PERF_COUNT_HW_CACHE_MISSES = 0x3
1151 PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 0x4
1152 PERF_COUNT_HW_BRANCH_MISSES = 0x5
1153 PERF_COUNT_HW_BUS_CYCLES = 0x6
1154 PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
1155 PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 0x8
1156 PERF_COUNT_HW_REF_CPU_CYCLES = 0x9
1157
1158 PERF_COUNT_HW_CACHE_L1D = 0x0
1159 PERF_COUNT_HW_CACHE_L1I = 0x1
1160 PERF_COUNT_HW_CACHE_LL = 0x2
1161 PERF_COUNT_HW_CACHE_DTLB = 0x3
1162 PERF_COUNT_HW_CACHE_ITLB = 0x4
1163 PERF_COUNT_HW_CACHE_BPU = 0x5
1164 PERF_COUNT_HW_CACHE_NODE = 0x6
1165
1166 PERF_COUNT_HW_CACHE_OP_READ = 0x0
1167 PERF_COUNT_HW_CACHE_OP_WRITE = 0x1
1168 PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
1169
1170 PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
1171 PERF_COUNT_HW_CACHE_RESULT_MISS = 0x1
1172
1173 PERF_COUNT_SW_CPU_CLOCK = 0x0
1174 PERF_COUNT_SW_TASK_CLOCK = 0x1
1175 PERF_COUNT_SW_PAGE_FAULTS = 0x2
1176 PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
1177 PERF_COUNT_SW_CPU_MIGRATIONS = 0x4
1178 PERF_COUNT_SW_PAGE_FAULTS_MIN = 0x5
1179 PERF_COUNT_SW_PAGE_FAULTS_MAJ = 0x6
1180 PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
1181 PERF_COUNT_SW_EMULATION_FAULTS = 0x8
1182 PERF_COUNT_SW_DUMMY = 0x9
1183 PERF_COUNT_SW_BPF_OUTPUT = 0xa
1184
1185 PERF_SAMPLE_IP = 0x1
1186 PERF_SAMPLE_TID = 0x2
1187 PERF_SAMPLE_TIME = 0x4
1188 PERF_SAMPLE_ADDR = 0x8
1189 PERF_SAMPLE_READ = 0x10
1190 PERF_SAMPLE_CALLCHAIN = 0x20
1191 PERF_SAMPLE_ID = 0x40
1192 PERF_SAMPLE_CPU = 0x80
1193 PERF_SAMPLE_PERIOD = 0x100
1194 PERF_SAMPLE_STREAM_ID = 0x200
1195 PERF_SAMPLE_RAW = 0x400
1196 PERF_SAMPLE_BRANCH_STACK = 0x800
1197
1198 PERF_SAMPLE_BRANCH_USER = 0x1
1199 PERF_SAMPLE_BRANCH_KERNEL = 0x2
1200 PERF_SAMPLE_BRANCH_HV = 0x4
1201 PERF_SAMPLE_BRANCH_ANY = 0x8
1202 PERF_SAMPLE_BRANCH_ANY_CALL = 0x10
1203 PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
1204 PERF_SAMPLE_BRANCH_IND_CALL = 0x40
1205 PERF_SAMPLE_BRANCH_ABORT_TX = 0x80
1206 PERF_SAMPLE_BRANCH_IN_TX = 0x100
1207 PERF_SAMPLE_BRANCH_NO_TX = 0x200
1208 PERF_SAMPLE_BRANCH_COND = 0x400
1209 PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
1210 PERF_SAMPLE_BRANCH_IND_JUMP = 0x1000
1211 PERF_SAMPLE_BRANCH_CALL = 0x2000
1212 PERF_SAMPLE_BRANCH_NO_FLAGS = 0x4000
1213 PERF_SAMPLE_BRANCH_NO_CYCLES = 0x8000
1214 PERF_SAMPLE_BRANCH_TYPE_SAVE = 0x10000
1215
1216 PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
1217 PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
1218 PERF_FORMAT_ID = 0x4
1219 PERF_FORMAT_GROUP = 0x8
1220
1221 PERF_RECORD_MMAP = 0x1
1222 PERF_RECORD_LOST = 0x2
1223 PERF_RECORD_COMM = 0x3
1224 PERF_RECORD_EXIT = 0x4
1225 PERF_RECORD_THROTTLE = 0x5
1226 PERF_RECORD_UNTHROTTLE = 0x6
1227 PERF_RECORD_FORK = 0x7
1228 PERF_RECORD_READ = 0x8
1229 PERF_RECORD_SAMPLE = 0x9
1230 PERF_RECORD_MMAP2 = 0xa
1231 PERF_RECORD_AUX = 0xb
1232 PERF_RECORD_ITRACE_START = 0xc
1233 PERF_RECORD_LOST_SAMPLES = 0xd
1234 PERF_RECORD_SWITCH = 0xe
1235 PERF_RECORD_SWITCH_CPU_WIDE = 0xf
1236 PERF_RECORD_NAMESPACES = 0x10
1237
1238 PERF_CONTEXT_HV = -0x20
1239 PERF_CONTEXT_KERNEL = -0x80
1240 PERF_CONTEXT_USER = -0x200
1241
1242 PERF_CONTEXT_GUEST = -0x800
1243 PERF_CONTEXT_GUEST_KERNEL = -0x880
1244 PERF_CONTEXT_GUEST_USER = -0xa00
1245
1246 PERF_FLAG_FD_NO_GROUP = 0x1
1247 PERF_FLAG_FD_OUTPUT = 0x2
1248 PERF_FLAG_PID_CGROUP = 0x4
1249 PERF_FLAG_FD_CLOEXEC = 0x8
1250)
1251
1252const (
1253 CBitFieldMaskBit0 = 0x1
1254 CBitFieldMaskBit1 = 0x2
1255 CBitFieldMaskBit2 = 0x4
1256 CBitFieldMaskBit3 = 0x8
1257 CBitFieldMaskBit4 = 0x10
1258 CBitFieldMaskBit5 = 0x20
1259 CBitFieldMaskBit6 = 0x40
1260 CBitFieldMaskBit7 = 0x80
1261 CBitFieldMaskBit8 = 0x100
1262 CBitFieldMaskBit9 = 0x200
1263 CBitFieldMaskBit10 = 0x400
1264 CBitFieldMaskBit11 = 0x800
1265 CBitFieldMaskBit12 = 0x1000
1266 CBitFieldMaskBit13 = 0x2000
1267 CBitFieldMaskBit14 = 0x4000
1268 CBitFieldMaskBit15 = 0x8000
1269 CBitFieldMaskBit16 = 0x10000
1270 CBitFieldMaskBit17 = 0x20000
1271 CBitFieldMaskBit18 = 0x40000
1272 CBitFieldMaskBit19 = 0x80000
1273 CBitFieldMaskBit20 = 0x100000
1274 CBitFieldMaskBit21 = 0x200000
1275 CBitFieldMaskBit22 = 0x400000
1276 CBitFieldMaskBit23 = 0x800000
1277 CBitFieldMaskBit24 = 0x1000000
1278 CBitFieldMaskBit25 = 0x2000000
1279 CBitFieldMaskBit26 = 0x4000000
1280 CBitFieldMaskBit27 = 0x8000000
1281 CBitFieldMaskBit28 = 0x10000000
1282 CBitFieldMaskBit29 = 0x20000000
1283 CBitFieldMaskBit30 = 0x40000000
1284 CBitFieldMaskBit31 = 0x80000000
1285 CBitFieldMaskBit32 = 0x100000000
1286 CBitFieldMaskBit33 = 0x200000000
1287 CBitFieldMaskBit34 = 0x400000000
1288 CBitFieldMaskBit35 = 0x800000000
1289 CBitFieldMaskBit36 = 0x1000000000
1290 CBitFieldMaskBit37 = 0x2000000000
1291 CBitFieldMaskBit38 = 0x4000000000
1292 CBitFieldMaskBit39 = 0x8000000000
1293 CBitFieldMaskBit40 = 0x10000000000
1294 CBitFieldMaskBit41 = 0x20000000000
1295 CBitFieldMaskBit42 = 0x40000000000
1296 CBitFieldMaskBit43 = 0x80000000000
1297 CBitFieldMaskBit44 = 0x100000000000
1298 CBitFieldMaskBit45 = 0x200000000000
1299 CBitFieldMaskBit46 = 0x400000000000
1300 CBitFieldMaskBit47 = 0x800000000000
1301 CBitFieldMaskBit48 = 0x1000000000000
1302 CBitFieldMaskBit49 = 0x2000000000000
1303 CBitFieldMaskBit50 = 0x4000000000000
1304 CBitFieldMaskBit51 = 0x8000000000000
1305 CBitFieldMaskBit52 = 0x10000000000000
1306 CBitFieldMaskBit53 = 0x20000000000000
1307 CBitFieldMaskBit54 = 0x40000000000000
1308 CBitFieldMaskBit55 = 0x80000000000000
1309 CBitFieldMaskBit56 = 0x100000000000000
1310 CBitFieldMaskBit57 = 0x200000000000000
1311 CBitFieldMaskBit58 = 0x400000000000000
1312 CBitFieldMaskBit59 = 0x800000000000000
1313 CBitFieldMaskBit60 = 0x1000000000000000
1314 CBitFieldMaskBit61 = 0x2000000000000000
1315 CBitFieldMaskBit62 = 0x4000000000000000
1316 CBitFieldMaskBit63 = 0x8000000000000000
1317)
1318
1319type SockaddrStorage struct {
1320 Family uint16
1321 _ [118]int8
1322 _ uint64
1323}
1324
1325type TCPMD5Sig struct {
1326 Addr SockaddrStorage
1327 Flags uint8
1328 Prefixlen uint8
1329 Keylen uint16
1330 _ uint32
1331 Key [80]uint8
1332}
1333
1334type HDDriveCmdHdr struct {
1335 Command uint8
1336 Number uint8
1337 Feature uint8
1338 Count uint8
1339}
1340
1341type HDGeometry struct {
1342 Heads uint8
1343 Sectors uint8
1344 Cylinders uint16
1345 Start uint64
1346}
1347
1348type HDDriveID struct {
1349 Config uint16
1350 Cyls uint16
1351 Reserved2 uint16
1352 Heads uint16
1353 Track_bytes uint16
1354 Sector_bytes uint16
1355 Sectors uint16
1356 Vendor0 uint16
1357 Vendor1 uint16
1358 Vendor2 uint16
1359 Serial_no [20]uint8
1360 Buf_type uint16
1361 Buf_size uint16
1362 Ecc_bytes uint16
1363 Fw_rev [8]uint8
1364 Model [40]uint8
1365 Max_multsect uint8
1366 Vendor3 uint8
1367 Dword_io uint16
1368 Vendor4 uint8
1369 Capability uint8
1370 Reserved50 uint16
1371 Vendor5 uint8
1372 TPIO uint8
1373 Vendor6 uint8
1374 TDMA uint8
1375 Field_valid uint16
1376 Cur_cyls uint16
1377 Cur_heads uint16
1378 Cur_sectors uint16
1379 Cur_capacity0 uint16
1380 Cur_capacity1 uint16
1381 Multsect uint8
1382 Multsect_valid uint8
1383 Lba_capacity uint32
1384 Dma_1word uint16
1385 Dma_mword uint16
1386 Eide_pio_modes uint16
1387 Eide_dma_min uint16
1388 Eide_dma_time uint16
1389 Eide_pio uint16
1390 Eide_pio_iordy uint16
1391 Words69_70 [2]uint16
1392 Words71_74 [4]uint16
1393 Queue_depth uint16
1394 Words76_79 [4]uint16
1395 Major_rev_num uint16
1396 Minor_rev_num uint16
1397 Command_set_1 uint16
1398 Command_set_2 uint16
1399 Cfsse uint16
1400 Cfs_enable_1 uint16
1401 Cfs_enable_2 uint16
1402 Csf_default uint16
1403 Dma_ultra uint16
1404 Trseuc uint16
1405 TrsEuc uint16
1406 CurAPMvalues uint16
1407 Mprc uint16
1408 Hw_config uint16
1409 Acoustic uint16
1410 Msrqs uint16
1411 Sxfert uint16
1412 Sal uint16
1413 Spg uint32
1414 Lba_capacity_2 uint64
1415 Words104_125 [22]uint16
1416 Last_lun uint16
1417 Word127 uint16
1418 Dlf uint16
1419 Csfo uint16
1420 Words130_155 [26]uint16
1421 Word156 uint16
1422 Words157_159 [3]uint16
1423 Cfa_power uint16
1424 Words161_175 [15]uint16
1425 Words176_205 [30]uint16
1426 Words206_254 [49]uint16
1427 Integrity_word uint16
1428}
1429
1430type Statfs_t struct {
1431 Type int64
1432 Bsize int64
1433 Blocks uint64
1434 Bfree uint64
1435 Bavail uint64
1436 Files uint64
1437 Ffree uint64
1438 Fsid Fsid
1439 Namelen int64
1440 Frsize int64
1441 Flags int64
1442 Spare [4]int64
1443}
1444
1445const (
1446 ST_MANDLOCK = 0x40
1447 ST_NOATIME = 0x400
1448 ST_NODEV = 0x4
1449 ST_NODIRATIME = 0x800
1450 ST_NOEXEC = 0x8
1451 ST_NOSUID = 0x2
1452 ST_RDONLY = 0x1
1453 ST_RELATIME = 0x1000
1454 ST_SYNCHRONOUS = 0x10
1455)
1456
1457type TpacketHdr struct {
1458 Status uint64
1459 Len uint32
1460 Snaplen uint32
1461 Mac uint16
1462 Net uint16
1463 Sec uint32
1464 Usec uint32
1465 _ [4]byte
1466}
1467
1468type Tpacket2Hdr struct {
1469 Status uint32
1470 Len uint32
1471 Snaplen uint32
1472 Mac uint16
1473 Net uint16
1474 Sec uint32
1475 Nsec uint32
1476 Vlan_tci uint16
1477 Vlan_tpid uint16
1478 _ [4]uint8
1479}
1480
1481type Tpacket3Hdr struct {
1482 Next_offset uint32
1483 Sec uint32
1484 Nsec uint32
1485 Snaplen uint32
1486 Len uint32
1487 Status uint32
1488 Mac uint16
1489 Net uint16
1490 Hv1 TpacketHdrVariant1
1491 _ [8]uint8
1492}
1493
1494type TpacketHdrVariant1 struct {
1495 Rxhash uint32
1496 Vlan_tci uint32
1497 Vlan_tpid uint16
1498 _ uint16
1499}
1500
1501type TpacketBlockDesc struct {
1502 Version uint32
1503 To_priv uint32
1504 Hdr [40]byte
1505}
1506
Matteo Scandolof9d43412021-01-12 11:11:34 -08001507type TpacketBDTS struct {
1508 Sec uint32
1509 Usec uint32
1510}
1511
1512type TpacketHdrV1 struct {
1513 Block_status uint32
1514 Num_pkts uint32
1515 Offset_to_first_pkt uint32
1516 Blk_len uint32
1517 Seq_num uint64
1518 Ts_first_pkt TpacketBDTS
1519 Ts_last_pkt TpacketBDTS
1520}
1521
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07001522type TpacketReq struct {
1523 Block_size uint32
1524 Block_nr uint32
1525 Frame_size uint32
1526 Frame_nr uint32
1527}
1528
1529type TpacketReq3 struct {
1530 Block_size uint32
1531 Block_nr uint32
1532 Frame_size uint32
1533 Frame_nr uint32
1534 Retire_blk_tov uint32
1535 Sizeof_priv uint32
1536 Feature_req_word uint32
1537}
1538
1539type TpacketStats struct {
1540 Packets uint32
1541 Drops uint32
1542}
1543
1544type TpacketStatsV3 struct {
1545 Packets uint32
1546 Drops uint32
1547 Freeze_q_cnt uint32
1548}
1549
1550type TpacketAuxdata struct {
1551 Status uint32
1552 Len uint32
1553 Snaplen uint32
1554 Mac uint16
1555 Net uint16
1556 Vlan_tci uint16
1557 Vlan_tpid uint16
1558}
1559
1560const (
1561 TPACKET_V1 = 0x0
1562 TPACKET_V2 = 0x1
1563 TPACKET_V3 = 0x2
1564)
1565
1566const (
1567 SizeofTpacketHdr = 0x20
1568 SizeofTpacket2Hdr = 0x20
1569 SizeofTpacket3Hdr = 0x30
1570
1571 SizeofTpacketStats = 0x8
1572 SizeofTpacketStatsV3 = 0xc
1573)
1574
1575const (
1576 NF_INET_PRE_ROUTING = 0x0
1577 NF_INET_LOCAL_IN = 0x1
1578 NF_INET_FORWARD = 0x2
1579 NF_INET_LOCAL_OUT = 0x3
1580 NF_INET_POST_ROUTING = 0x4
1581 NF_INET_NUMHOOKS = 0x5
1582)
1583
1584const (
1585 NF_NETDEV_INGRESS = 0x0
1586 NF_NETDEV_NUMHOOKS = 0x1
1587)
1588
1589const (
1590 NFPROTO_UNSPEC = 0x0
1591 NFPROTO_INET = 0x1
1592 NFPROTO_IPV4 = 0x2
1593 NFPROTO_ARP = 0x3
1594 NFPROTO_NETDEV = 0x5
1595 NFPROTO_BRIDGE = 0x7
1596 NFPROTO_IPV6 = 0xa
1597 NFPROTO_DECNET = 0xc
1598 NFPROTO_NUMPROTO = 0xd
1599)
1600
1601type Nfgenmsg struct {
1602 Nfgen_family uint8
1603 Version uint8
1604 Res_id uint16
1605}
1606
1607const (
1608 NFNL_BATCH_UNSPEC = 0x0
1609 NFNL_BATCH_GENID = 0x1
1610)
1611
1612const (
1613 NFT_REG_VERDICT = 0x0
1614 NFT_REG_1 = 0x1
1615 NFT_REG_2 = 0x2
1616 NFT_REG_3 = 0x3
1617 NFT_REG_4 = 0x4
1618 NFT_REG32_00 = 0x8
1619 NFT_REG32_01 = 0x9
1620 NFT_REG32_02 = 0xa
1621 NFT_REG32_03 = 0xb
1622 NFT_REG32_04 = 0xc
1623 NFT_REG32_05 = 0xd
1624 NFT_REG32_06 = 0xe
1625 NFT_REG32_07 = 0xf
1626 NFT_REG32_08 = 0x10
1627 NFT_REG32_09 = 0x11
1628 NFT_REG32_10 = 0x12
1629 NFT_REG32_11 = 0x13
1630 NFT_REG32_12 = 0x14
1631 NFT_REG32_13 = 0x15
1632 NFT_REG32_14 = 0x16
1633 NFT_REG32_15 = 0x17
1634 NFT_CONTINUE = -0x1
1635 NFT_BREAK = -0x2
1636 NFT_JUMP = -0x3
1637 NFT_GOTO = -0x4
1638 NFT_RETURN = -0x5
1639 NFT_MSG_NEWTABLE = 0x0
1640 NFT_MSG_GETTABLE = 0x1
1641 NFT_MSG_DELTABLE = 0x2
1642 NFT_MSG_NEWCHAIN = 0x3
1643 NFT_MSG_GETCHAIN = 0x4
1644 NFT_MSG_DELCHAIN = 0x5
1645 NFT_MSG_NEWRULE = 0x6
1646 NFT_MSG_GETRULE = 0x7
1647 NFT_MSG_DELRULE = 0x8
1648 NFT_MSG_NEWSET = 0x9
1649 NFT_MSG_GETSET = 0xa
1650 NFT_MSG_DELSET = 0xb
1651 NFT_MSG_NEWSETELEM = 0xc
1652 NFT_MSG_GETSETELEM = 0xd
1653 NFT_MSG_DELSETELEM = 0xe
1654 NFT_MSG_NEWGEN = 0xf
1655 NFT_MSG_GETGEN = 0x10
1656 NFT_MSG_TRACE = 0x11
1657 NFT_MSG_NEWOBJ = 0x12
1658 NFT_MSG_GETOBJ = 0x13
1659 NFT_MSG_DELOBJ = 0x14
1660 NFT_MSG_GETOBJ_RESET = 0x15
1661 NFT_MSG_MAX = 0x19
1662 NFTA_LIST_UNPEC = 0x0
1663 NFTA_LIST_ELEM = 0x1
1664 NFTA_HOOK_UNSPEC = 0x0
1665 NFTA_HOOK_HOOKNUM = 0x1
1666 NFTA_HOOK_PRIORITY = 0x2
1667 NFTA_HOOK_DEV = 0x3
1668 NFT_TABLE_F_DORMANT = 0x1
1669 NFTA_TABLE_UNSPEC = 0x0
1670 NFTA_TABLE_NAME = 0x1
1671 NFTA_TABLE_FLAGS = 0x2
1672 NFTA_TABLE_USE = 0x3
1673 NFTA_CHAIN_UNSPEC = 0x0
1674 NFTA_CHAIN_TABLE = 0x1
1675 NFTA_CHAIN_HANDLE = 0x2
1676 NFTA_CHAIN_NAME = 0x3
1677 NFTA_CHAIN_HOOK = 0x4
1678 NFTA_CHAIN_POLICY = 0x5
1679 NFTA_CHAIN_USE = 0x6
1680 NFTA_CHAIN_TYPE = 0x7
1681 NFTA_CHAIN_COUNTERS = 0x8
1682 NFTA_CHAIN_PAD = 0x9
1683 NFTA_RULE_UNSPEC = 0x0
1684 NFTA_RULE_TABLE = 0x1
1685 NFTA_RULE_CHAIN = 0x2
1686 NFTA_RULE_HANDLE = 0x3
1687 NFTA_RULE_EXPRESSIONS = 0x4
1688 NFTA_RULE_COMPAT = 0x5
1689 NFTA_RULE_POSITION = 0x6
1690 NFTA_RULE_USERDATA = 0x7
1691 NFTA_RULE_PAD = 0x8
1692 NFTA_RULE_ID = 0x9
1693 NFT_RULE_COMPAT_F_INV = 0x2
1694 NFT_RULE_COMPAT_F_MASK = 0x2
1695 NFTA_RULE_COMPAT_UNSPEC = 0x0
1696 NFTA_RULE_COMPAT_PROTO = 0x1
1697 NFTA_RULE_COMPAT_FLAGS = 0x2
1698 NFT_SET_ANONYMOUS = 0x1
1699 NFT_SET_CONSTANT = 0x2
1700 NFT_SET_INTERVAL = 0x4
1701 NFT_SET_MAP = 0x8
1702 NFT_SET_TIMEOUT = 0x10
1703 NFT_SET_EVAL = 0x20
1704 NFT_SET_OBJECT = 0x40
1705 NFT_SET_POL_PERFORMANCE = 0x0
1706 NFT_SET_POL_MEMORY = 0x1
1707 NFTA_SET_DESC_UNSPEC = 0x0
1708 NFTA_SET_DESC_SIZE = 0x1
1709 NFTA_SET_UNSPEC = 0x0
1710 NFTA_SET_TABLE = 0x1
1711 NFTA_SET_NAME = 0x2
1712 NFTA_SET_FLAGS = 0x3
1713 NFTA_SET_KEY_TYPE = 0x4
1714 NFTA_SET_KEY_LEN = 0x5
1715 NFTA_SET_DATA_TYPE = 0x6
1716 NFTA_SET_DATA_LEN = 0x7
1717 NFTA_SET_POLICY = 0x8
1718 NFTA_SET_DESC = 0x9
1719 NFTA_SET_ID = 0xa
1720 NFTA_SET_TIMEOUT = 0xb
1721 NFTA_SET_GC_INTERVAL = 0xc
1722 NFTA_SET_USERDATA = 0xd
1723 NFTA_SET_PAD = 0xe
1724 NFTA_SET_OBJ_TYPE = 0xf
1725 NFT_SET_ELEM_INTERVAL_END = 0x1
1726 NFTA_SET_ELEM_UNSPEC = 0x0
1727 NFTA_SET_ELEM_KEY = 0x1
1728 NFTA_SET_ELEM_DATA = 0x2
1729 NFTA_SET_ELEM_FLAGS = 0x3
1730 NFTA_SET_ELEM_TIMEOUT = 0x4
1731 NFTA_SET_ELEM_EXPIRATION = 0x5
1732 NFTA_SET_ELEM_USERDATA = 0x6
1733 NFTA_SET_ELEM_EXPR = 0x7
1734 NFTA_SET_ELEM_PAD = 0x8
1735 NFTA_SET_ELEM_OBJREF = 0x9
1736 NFTA_SET_ELEM_LIST_UNSPEC = 0x0
1737 NFTA_SET_ELEM_LIST_TABLE = 0x1
1738 NFTA_SET_ELEM_LIST_SET = 0x2
1739 NFTA_SET_ELEM_LIST_ELEMENTS = 0x3
1740 NFTA_SET_ELEM_LIST_SET_ID = 0x4
1741 NFT_DATA_VALUE = 0x0
1742 NFT_DATA_VERDICT = 0xffffff00
1743 NFTA_DATA_UNSPEC = 0x0
1744 NFTA_DATA_VALUE = 0x1
1745 NFTA_DATA_VERDICT = 0x2
1746 NFTA_VERDICT_UNSPEC = 0x0
1747 NFTA_VERDICT_CODE = 0x1
1748 NFTA_VERDICT_CHAIN = 0x2
1749 NFTA_EXPR_UNSPEC = 0x0
1750 NFTA_EXPR_NAME = 0x1
1751 NFTA_EXPR_DATA = 0x2
1752 NFTA_IMMEDIATE_UNSPEC = 0x0
1753 NFTA_IMMEDIATE_DREG = 0x1
1754 NFTA_IMMEDIATE_DATA = 0x2
1755 NFTA_BITWISE_UNSPEC = 0x0
1756 NFTA_BITWISE_SREG = 0x1
1757 NFTA_BITWISE_DREG = 0x2
1758 NFTA_BITWISE_LEN = 0x3
1759 NFTA_BITWISE_MASK = 0x4
1760 NFTA_BITWISE_XOR = 0x5
1761 NFT_BYTEORDER_NTOH = 0x0
1762 NFT_BYTEORDER_HTON = 0x1
1763 NFTA_BYTEORDER_UNSPEC = 0x0
1764 NFTA_BYTEORDER_SREG = 0x1
1765 NFTA_BYTEORDER_DREG = 0x2
1766 NFTA_BYTEORDER_OP = 0x3
1767 NFTA_BYTEORDER_LEN = 0x4
1768 NFTA_BYTEORDER_SIZE = 0x5
1769 NFT_CMP_EQ = 0x0
1770 NFT_CMP_NEQ = 0x1
1771 NFT_CMP_LT = 0x2
1772 NFT_CMP_LTE = 0x3
1773 NFT_CMP_GT = 0x4
1774 NFT_CMP_GTE = 0x5
1775 NFTA_CMP_UNSPEC = 0x0
1776 NFTA_CMP_SREG = 0x1
1777 NFTA_CMP_OP = 0x2
1778 NFTA_CMP_DATA = 0x3
1779 NFT_RANGE_EQ = 0x0
1780 NFT_RANGE_NEQ = 0x1
1781 NFTA_RANGE_UNSPEC = 0x0
1782 NFTA_RANGE_SREG = 0x1
1783 NFTA_RANGE_OP = 0x2
1784 NFTA_RANGE_FROM_DATA = 0x3
1785 NFTA_RANGE_TO_DATA = 0x4
1786 NFT_LOOKUP_F_INV = 0x1
1787 NFTA_LOOKUP_UNSPEC = 0x0
1788 NFTA_LOOKUP_SET = 0x1
1789 NFTA_LOOKUP_SREG = 0x2
1790 NFTA_LOOKUP_DREG = 0x3
1791 NFTA_LOOKUP_SET_ID = 0x4
1792 NFTA_LOOKUP_FLAGS = 0x5
1793 NFT_DYNSET_OP_ADD = 0x0
1794 NFT_DYNSET_OP_UPDATE = 0x1
1795 NFT_DYNSET_F_INV = 0x1
1796 NFTA_DYNSET_UNSPEC = 0x0
1797 NFTA_DYNSET_SET_NAME = 0x1
1798 NFTA_DYNSET_SET_ID = 0x2
1799 NFTA_DYNSET_OP = 0x3
1800 NFTA_DYNSET_SREG_KEY = 0x4
1801 NFTA_DYNSET_SREG_DATA = 0x5
1802 NFTA_DYNSET_TIMEOUT = 0x6
1803 NFTA_DYNSET_EXPR = 0x7
1804 NFTA_DYNSET_PAD = 0x8
1805 NFTA_DYNSET_FLAGS = 0x9
1806 NFT_PAYLOAD_LL_HEADER = 0x0
1807 NFT_PAYLOAD_NETWORK_HEADER = 0x1
1808 NFT_PAYLOAD_TRANSPORT_HEADER = 0x2
1809 NFT_PAYLOAD_CSUM_NONE = 0x0
1810 NFT_PAYLOAD_CSUM_INET = 0x1
1811 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = 0x1
1812 NFTA_PAYLOAD_UNSPEC = 0x0
1813 NFTA_PAYLOAD_DREG = 0x1
1814 NFTA_PAYLOAD_BASE = 0x2
1815 NFTA_PAYLOAD_OFFSET = 0x3
1816 NFTA_PAYLOAD_LEN = 0x4
1817 NFTA_PAYLOAD_SREG = 0x5
1818 NFTA_PAYLOAD_CSUM_TYPE = 0x6
1819 NFTA_PAYLOAD_CSUM_OFFSET = 0x7
1820 NFTA_PAYLOAD_CSUM_FLAGS = 0x8
1821 NFT_EXTHDR_F_PRESENT = 0x1
1822 NFT_EXTHDR_OP_IPV6 = 0x0
1823 NFT_EXTHDR_OP_TCPOPT = 0x1
1824 NFTA_EXTHDR_UNSPEC = 0x0
1825 NFTA_EXTHDR_DREG = 0x1
1826 NFTA_EXTHDR_TYPE = 0x2
1827 NFTA_EXTHDR_OFFSET = 0x3
1828 NFTA_EXTHDR_LEN = 0x4
1829 NFTA_EXTHDR_FLAGS = 0x5
1830 NFTA_EXTHDR_OP = 0x6
1831 NFTA_EXTHDR_SREG = 0x7
1832 NFT_META_LEN = 0x0
1833 NFT_META_PROTOCOL = 0x1
1834 NFT_META_PRIORITY = 0x2
1835 NFT_META_MARK = 0x3
1836 NFT_META_IIF = 0x4
1837 NFT_META_OIF = 0x5
1838 NFT_META_IIFNAME = 0x6
1839 NFT_META_OIFNAME = 0x7
1840 NFT_META_IIFTYPE = 0x8
1841 NFT_META_OIFTYPE = 0x9
1842 NFT_META_SKUID = 0xa
1843 NFT_META_SKGID = 0xb
1844 NFT_META_NFTRACE = 0xc
1845 NFT_META_RTCLASSID = 0xd
1846 NFT_META_SECMARK = 0xe
1847 NFT_META_NFPROTO = 0xf
1848 NFT_META_L4PROTO = 0x10
1849 NFT_META_BRI_IIFNAME = 0x11
1850 NFT_META_BRI_OIFNAME = 0x12
1851 NFT_META_PKTTYPE = 0x13
1852 NFT_META_CPU = 0x14
1853 NFT_META_IIFGROUP = 0x15
1854 NFT_META_OIFGROUP = 0x16
1855 NFT_META_CGROUP = 0x17
1856 NFT_META_PRANDOM = 0x18
1857 NFT_RT_CLASSID = 0x0
1858 NFT_RT_NEXTHOP4 = 0x1
1859 NFT_RT_NEXTHOP6 = 0x2
1860 NFT_RT_TCPMSS = 0x3
1861 NFT_HASH_JENKINS = 0x0
1862 NFT_HASH_SYM = 0x1
1863 NFTA_HASH_UNSPEC = 0x0
1864 NFTA_HASH_SREG = 0x1
1865 NFTA_HASH_DREG = 0x2
1866 NFTA_HASH_LEN = 0x3
1867 NFTA_HASH_MODULUS = 0x4
1868 NFTA_HASH_SEED = 0x5
1869 NFTA_HASH_OFFSET = 0x6
1870 NFTA_HASH_TYPE = 0x7
1871 NFTA_META_UNSPEC = 0x0
1872 NFTA_META_DREG = 0x1
1873 NFTA_META_KEY = 0x2
1874 NFTA_META_SREG = 0x3
1875 NFTA_RT_UNSPEC = 0x0
1876 NFTA_RT_DREG = 0x1
1877 NFTA_RT_KEY = 0x2
1878 NFT_CT_STATE = 0x0
1879 NFT_CT_DIRECTION = 0x1
1880 NFT_CT_STATUS = 0x2
1881 NFT_CT_MARK = 0x3
1882 NFT_CT_SECMARK = 0x4
1883 NFT_CT_EXPIRATION = 0x5
1884 NFT_CT_HELPER = 0x6
1885 NFT_CT_L3PROTOCOL = 0x7
1886 NFT_CT_SRC = 0x8
1887 NFT_CT_DST = 0x9
1888 NFT_CT_PROTOCOL = 0xa
1889 NFT_CT_PROTO_SRC = 0xb
1890 NFT_CT_PROTO_DST = 0xc
1891 NFT_CT_LABELS = 0xd
1892 NFT_CT_PKTS = 0xe
1893 NFT_CT_BYTES = 0xf
1894 NFT_CT_AVGPKT = 0x10
1895 NFT_CT_ZONE = 0x11
1896 NFT_CT_EVENTMASK = 0x12
1897 NFTA_CT_UNSPEC = 0x0
1898 NFTA_CT_DREG = 0x1
1899 NFTA_CT_KEY = 0x2
1900 NFTA_CT_DIRECTION = 0x3
1901 NFTA_CT_SREG = 0x4
1902 NFT_LIMIT_PKTS = 0x0
1903 NFT_LIMIT_PKT_BYTES = 0x1
1904 NFT_LIMIT_F_INV = 0x1
1905 NFTA_LIMIT_UNSPEC = 0x0
1906 NFTA_LIMIT_RATE = 0x1
1907 NFTA_LIMIT_UNIT = 0x2
1908 NFTA_LIMIT_BURST = 0x3
1909 NFTA_LIMIT_TYPE = 0x4
1910 NFTA_LIMIT_FLAGS = 0x5
1911 NFTA_LIMIT_PAD = 0x6
1912 NFTA_COUNTER_UNSPEC = 0x0
1913 NFTA_COUNTER_BYTES = 0x1
1914 NFTA_COUNTER_PACKETS = 0x2
1915 NFTA_COUNTER_PAD = 0x3
1916 NFTA_LOG_UNSPEC = 0x0
1917 NFTA_LOG_GROUP = 0x1
1918 NFTA_LOG_PREFIX = 0x2
1919 NFTA_LOG_SNAPLEN = 0x3
1920 NFTA_LOG_QTHRESHOLD = 0x4
1921 NFTA_LOG_LEVEL = 0x5
1922 NFTA_LOG_FLAGS = 0x6
1923 NFTA_QUEUE_UNSPEC = 0x0
1924 NFTA_QUEUE_NUM = 0x1
1925 NFTA_QUEUE_TOTAL = 0x2
1926 NFTA_QUEUE_FLAGS = 0x3
1927 NFTA_QUEUE_SREG_QNUM = 0x4
1928 NFT_QUOTA_F_INV = 0x1
1929 NFT_QUOTA_F_DEPLETED = 0x2
1930 NFTA_QUOTA_UNSPEC = 0x0
1931 NFTA_QUOTA_BYTES = 0x1
1932 NFTA_QUOTA_FLAGS = 0x2
1933 NFTA_QUOTA_PAD = 0x3
1934 NFTA_QUOTA_CONSUMED = 0x4
1935 NFT_REJECT_ICMP_UNREACH = 0x0
1936 NFT_REJECT_TCP_RST = 0x1
1937 NFT_REJECT_ICMPX_UNREACH = 0x2
1938 NFT_REJECT_ICMPX_NO_ROUTE = 0x0
1939 NFT_REJECT_ICMPX_PORT_UNREACH = 0x1
1940 NFT_REJECT_ICMPX_HOST_UNREACH = 0x2
1941 NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
1942 NFTA_REJECT_UNSPEC = 0x0
1943 NFTA_REJECT_TYPE = 0x1
1944 NFTA_REJECT_ICMP_CODE = 0x2
1945 NFT_NAT_SNAT = 0x0
1946 NFT_NAT_DNAT = 0x1
1947 NFTA_NAT_UNSPEC = 0x0
1948 NFTA_NAT_TYPE = 0x1
1949 NFTA_NAT_FAMILY = 0x2
1950 NFTA_NAT_REG_ADDR_MIN = 0x3
1951 NFTA_NAT_REG_ADDR_MAX = 0x4
1952 NFTA_NAT_REG_PROTO_MIN = 0x5
1953 NFTA_NAT_REG_PROTO_MAX = 0x6
1954 NFTA_NAT_FLAGS = 0x7
1955 NFTA_MASQ_UNSPEC = 0x0
1956 NFTA_MASQ_FLAGS = 0x1
1957 NFTA_MASQ_REG_PROTO_MIN = 0x2
1958 NFTA_MASQ_REG_PROTO_MAX = 0x3
1959 NFTA_REDIR_UNSPEC = 0x0
1960 NFTA_REDIR_REG_PROTO_MIN = 0x1
1961 NFTA_REDIR_REG_PROTO_MAX = 0x2
1962 NFTA_REDIR_FLAGS = 0x3
1963 NFTA_DUP_UNSPEC = 0x0
1964 NFTA_DUP_SREG_ADDR = 0x1
1965 NFTA_DUP_SREG_DEV = 0x2
1966 NFTA_FWD_UNSPEC = 0x0
1967 NFTA_FWD_SREG_DEV = 0x1
1968 NFTA_OBJREF_UNSPEC = 0x0
1969 NFTA_OBJREF_IMM_TYPE = 0x1
1970 NFTA_OBJREF_IMM_NAME = 0x2
1971 NFTA_OBJREF_SET_SREG = 0x3
1972 NFTA_OBJREF_SET_NAME = 0x4
1973 NFTA_OBJREF_SET_ID = 0x5
1974 NFTA_GEN_UNSPEC = 0x0
1975 NFTA_GEN_ID = 0x1
1976 NFTA_GEN_PROC_PID = 0x2
1977 NFTA_GEN_PROC_NAME = 0x3
1978 NFTA_FIB_UNSPEC = 0x0
1979 NFTA_FIB_DREG = 0x1
1980 NFTA_FIB_RESULT = 0x2
1981 NFTA_FIB_FLAGS = 0x3
1982 NFT_FIB_RESULT_UNSPEC = 0x0
1983 NFT_FIB_RESULT_OIF = 0x1
1984 NFT_FIB_RESULT_OIFNAME = 0x2
1985 NFT_FIB_RESULT_ADDRTYPE = 0x3
1986 NFTA_FIB_F_SADDR = 0x1
1987 NFTA_FIB_F_DADDR = 0x2
1988 NFTA_FIB_F_MARK = 0x4
1989 NFTA_FIB_F_IIF = 0x8
1990 NFTA_FIB_F_OIF = 0x10
1991 NFTA_FIB_F_PRESENT = 0x20
1992 NFTA_CT_HELPER_UNSPEC = 0x0
1993 NFTA_CT_HELPER_NAME = 0x1
1994 NFTA_CT_HELPER_L3PROTO = 0x2
1995 NFTA_CT_HELPER_L4PROTO = 0x3
1996 NFTA_OBJ_UNSPEC = 0x0
1997 NFTA_OBJ_TABLE = 0x1
1998 NFTA_OBJ_NAME = 0x2
1999 NFTA_OBJ_TYPE = 0x3
2000 NFTA_OBJ_DATA = 0x4
2001 NFTA_OBJ_USE = 0x5
2002 NFTA_TRACE_UNSPEC = 0x0
2003 NFTA_TRACE_TABLE = 0x1
2004 NFTA_TRACE_CHAIN = 0x2
2005 NFTA_TRACE_RULE_HANDLE = 0x3
2006 NFTA_TRACE_TYPE = 0x4
2007 NFTA_TRACE_VERDICT = 0x5
2008 NFTA_TRACE_ID = 0x6
2009 NFTA_TRACE_LL_HEADER = 0x7
2010 NFTA_TRACE_NETWORK_HEADER = 0x8
2011 NFTA_TRACE_TRANSPORT_HEADER = 0x9
2012 NFTA_TRACE_IIF = 0xa
2013 NFTA_TRACE_IIFTYPE = 0xb
2014 NFTA_TRACE_OIF = 0xc
2015 NFTA_TRACE_OIFTYPE = 0xd
2016 NFTA_TRACE_MARK = 0xe
2017 NFTA_TRACE_NFPROTO = 0xf
2018 NFTA_TRACE_POLICY = 0x10
2019 NFTA_TRACE_PAD = 0x11
2020 NFT_TRACETYPE_UNSPEC = 0x0
2021 NFT_TRACETYPE_POLICY = 0x1
2022 NFT_TRACETYPE_RETURN = 0x2
2023 NFT_TRACETYPE_RULE = 0x3
2024 NFTA_NG_UNSPEC = 0x0
2025 NFTA_NG_DREG = 0x1
2026 NFTA_NG_MODULUS = 0x2
2027 NFTA_NG_TYPE = 0x3
2028 NFTA_NG_OFFSET = 0x4
2029 NFT_NG_INCREMENTAL = 0x0
2030 NFT_NG_RANDOM = 0x1
2031)
2032
2033type RTCTime struct {
2034 Sec int32
2035 Min int32
2036 Hour int32
2037 Mday int32
2038 Mon int32
2039 Year int32
2040 Wday int32
2041 Yday int32
2042 Isdst int32
2043}
2044
2045type RTCWkAlrm struct {
2046 Enabled uint8
2047 Pending uint8
2048 Time RTCTime
2049}
2050
2051type RTCPLLInfo struct {
2052 Ctrl int32
2053 Value int32
2054 Max int32
2055 Min int32
2056 Posmult int32
2057 Negmult int32
2058 Clock int64
2059}
2060
2061type BlkpgIoctlArg struct {
2062 Op int32
2063 Flags int32
2064 Datalen int32
2065 Data *byte
2066}
2067
2068type BlkpgPartition struct {
2069 Start int64
2070 Length int64
2071 Pno int32
2072 Devname [64]uint8
2073 Volname [64]uint8
2074 _ [4]byte
2075}
2076
2077const (
2078 BLKPG = 0x1269
2079 BLKPG_ADD_PARTITION = 0x1
2080 BLKPG_DEL_PARTITION = 0x2
2081 BLKPG_RESIZE_PARTITION = 0x3
2082)
2083
2084const (
2085 NETNSA_NONE = 0x0
2086 NETNSA_NSID = 0x1
2087 NETNSA_PID = 0x2
2088 NETNSA_FD = 0x3
2089)
2090
2091type XDPRingOffset struct {
2092 Producer uint64
2093 Consumer uint64
2094 Desc uint64
Matteo Scandolof9d43412021-01-12 11:11:34 -08002095 Flags uint64
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07002096}
2097
2098type XDPMmapOffsets struct {
2099 Rx XDPRingOffset
2100 Tx XDPRingOffset
2101 Fr XDPRingOffset
2102 Cr XDPRingOffset
2103}
2104
2105type XDPUmemReg struct {
2106 Addr uint64
2107 Len uint64
2108 Size uint32
2109 Headroom uint32
Matteo Scandolof9d43412021-01-12 11:11:34 -08002110 Flags uint32
2111 _ [4]byte
Matteo Scandoloa6a3aee2019-11-26 13:30:14 -07002112}
2113
2114type XDPStatistics struct {
2115 Rx_dropped uint64
2116 Rx_invalid_descs uint64
2117 Tx_invalid_descs uint64
2118}
2119
2120type XDPDesc struct {
2121 Addr uint64
2122 Len uint32
2123 Options uint32
2124}
2125
2126const (
2127 NCSI_CMD_UNSPEC = 0x0
2128 NCSI_CMD_PKG_INFO = 0x1
2129 NCSI_CMD_SET_INTERFACE = 0x2
2130 NCSI_CMD_CLEAR_INTERFACE = 0x3
2131 NCSI_ATTR_UNSPEC = 0x0
2132 NCSI_ATTR_IFINDEX = 0x1
2133 NCSI_ATTR_PACKAGE_LIST = 0x2
2134 NCSI_ATTR_PACKAGE_ID = 0x3
2135 NCSI_ATTR_CHANNEL_ID = 0x4
2136 NCSI_PKG_ATTR_UNSPEC = 0x0
2137 NCSI_PKG_ATTR = 0x1
2138 NCSI_PKG_ATTR_ID = 0x2
2139 NCSI_PKG_ATTR_FORCED = 0x3
2140 NCSI_PKG_ATTR_CHANNEL_LIST = 0x4
2141 NCSI_CHANNEL_ATTR_UNSPEC = 0x0
2142 NCSI_CHANNEL_ATTR = 0x1
2143 NCSI_CHANNEL_ATTR_ID = 0x2
2144 NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
2145 NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
2146 NCSI_CHANNEL_ATTR_VERSION_STR = 0x5
2147 NCSI_CHANNEL_ATTR_LINK_STATE = 0x6
2148 NCSI_CHANNEL_ATTR_ACTIVE = 0x7
2149 NCSI_CHANNEL_ATTR_FORCED = 0x8
2150 NCSI_CHANNEL_ATTR_VLAN_LIST = 0x9
2151 NCSI_CHANNEL_ATTR_VLAN_ID = 0xa
2152)
2153
2154type ScmTimestamping struct {
2155 Ts [3]Timespec
2156}
2157
2158const (
2159 SOF_TIMESTAMPING_TX_HARDWARE = 0x1
2160 SOF_TIMESTAMPING_TX_SOFTWARE = 0x2
2161 SOF_TIMESTAMPING_RX_HARDWARE = 0x4
2162 SOF_TIMESTAMPING_RX_SOFTWARE = 0x8
2163 SOF_TIMESTAMPING_SOFTWARE = 0x10
2164 SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
2165 SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
2166 SOF_TIMESTAMPING_OPT_ID = 0x80
2167 SOF_TIMESTAMPING_TX_SCHED = 0x100
2168 SOF_TIMESTAMPING_TX_ACK = 0x200
2169 SOF_TIMESTAMPING_OPT_CMSG = 0x400
2170 SOF_TIMESTAMPING_OPT_TSONLY = 0x800
2171 SOF_TIMESTAMPING_OPT_STATS = 0x1000
2172 SOF_TIMESTAMPING_OPT_PKTINFO = 0x2000
2173 SOF_TIMESTAMPING_OPT_TX_SWHW = 0x4000
2174
2175 SOF_TIMESTAMPING_LAST = 0x4000
2176 SOF_TIMESTAMPING_MASK = 0x7fff
2177
2178 SCM_TSTAMP_SND = 0x0
2179 SCM_TSTAMP_SCHED = 0x1
2180 SCM_TSTAMP_ACK = 0x2
2181)
2182
2183type SockExtendedErr struct {
2184 Errno uint32
2185 Origin uint8
2186 Type uint8
2187 Code uint8
2188 Pad uint8
2189 Info uint32
2190 Data uint32
2191}
2192
2193type FanotifyEventMetadata struct {
2194 Event_len uint32
2195 Vers uint8
2196 Reserved uint8
2197 Metadata_len uint16
2198 Mask uint64
2199 Fd int32
2200 Pid int32
2201}
2202
2203type FanotifyResponse struct {
2204 Fd int32
2205 Response uint32
2206}
Matteo Scandolof9d43412021-01-12 11:11:34 -08002207
2208const (
2209 CRYPTO_MSG_BASE = 0x10
2210 CRYPTO_MSG_NEWALG = 0x10
2211 CRYPTO_MSG_DELALG = 0x11
2212 CRYPTO_MSG_UPDATEALG = 0x12
2213 CRYPTO_MSG_GETALG = 0x13
2214 CRYPTO_MSG_DELRNG = 0x14
2215 CRYPTO_MSG_GETSTAT = 0x15
2216)
2217
2218const (
2219 CRYPTOCFGA_UNSPEC = 0x0
2220 CRYPTOCFGA_PRIORITY_VAL = 0x1
2221 CRYPTOCFGA_REPORT_LARVAL = 0x2
2222 CRYPTOCFGA_REPORT_HASH = 0x3
2223 CRYPTOCFGA_REPORT_BLKCIPHER = 0x4
2224 CRYPTOCFGA_REPORT_AEAD = 0x5
2225 CRYPTOCFGA_REPORT_COMPRESS = 0x6
2226 CRYPTOCFGA_REPORT_RNG = 0x7
2227 CRYPTOCFGA_REPORT_CIPHER = 0x8
2228 CRYPTOCFGA_REPORT_AKCIPHER = 0x9
2229 CRYPTOCFGA_REPORT_KPP = 0xa
2230 CRYPTOCFGA_REPORT_ACOMP = 0xb
2231 CRYPTOCFGA_STAT_LARVAL = 0xc
2232 CRYPTOCFGA_STAT_HASH = 0xd
2233 CRYPTOCFGA_STAT_BLKCIPHER = 0xe
2234 CRYPTOCFGA_STAT_AEAD = 0xf
2235 CRYPTOCFGA_STAT_COMPRESS = 0x10
2236 CRYPTOCFGA_STAT_RNG = 0x11
2237 CRYPTOCFGA_STAT_CIPHER = 0x12
2238 CRYPTOCFGA_STAT_AKCIPHER = 0x13
2239 CRYPTOCFGA_STAT_KPP = 0x14
2240 CRYPTOCFGA_STAT_ACOMP = 0x15
2241)
2242
2243type CryptoUserAlg struct {
2244 Name [64]int8
2245 Driver_name [64]int8
2246 Module_name [64]int8
2247 Type uint32
2248 Mask uint32
2249 Refcnt uint32
2250 Flags uint32
2251}
2252
2253type CryptoStatAEAD struct {
2254 Type [64]int8
2255 Encrypt_cnt uint64
2256 Encrypt_tlen uint64
2257 Decrypt_cnt uint64
2258 Decrypt_tlen uint64
2259 Err_cnt uint64
2260}
2261
2262type CryptoStatAKCipher struct {
2263 Type [64]int8
2264 Encrypt_cnt uint64
2265 Encrypt_tlen uint64
2266 Decrypt_cnt uint64
2267 Decrypt_tlen uint64
2268 Verify_cnt uint64
2269 Sign_cnt uint64
2270 Err_cnt uint64
2271}
2272
2273type CryptoStatCipher struct {
2274 Type [64]int8
2275 Encrypt_cnt uint64
2276 Encrypt_tlen uint64
2277 Decrypt_cnt uint64
2278 Decrypt_tlen uint64
2279 Err_cnt uint64
2280}
2281
2282type CryptoStatCompress struct {
2283 Type [64]int8
2284 Compress_cnt uint64
2285 Compress_tlen uint64
2286 Decompress_cnt uint64
2287 Decompress_tlen uint64
2288 Err_cnt uint64
2289}
2290
2291type CryptoStatHash struct {
2292 Type [64]int8
2293 Hash_cnt uint64
2294 Hash_tlen uint64
2295 Err_cnt uint64
2296}
2297
2298type CryptoStatKPP struct {
2299 Type [64]int8
2300 Setsecret_cnt uint64
2301 Generate_public_key_cnt uint64
2302 Compute_shared_secret_cnt uint64
2303 Err_cnt uint64
2304}
2305
2306type CryptoStatRNG struct {
2307 Type [64]int8
2308 Generate_cnt uint64
2309 Generate_tlen uint64
2310 Seed_cnt uint64
2311 Err_cnt uint64
2312}
2313
2314type CryptoStatLarval struct {
2315 Type [64]int8
2316}
2317
2318type CryptoReportLarval struct {
2319 Type [64]int8
2320}
2321
2322type CryptoReportHash struct {
2323 Type [64]int8
2324 Blocksize uint32
2325 Digestsize uint32
2326}
2327
2328type CryptoReportCipher struct {
2329 Type [64]int8
2330 Blocksize uint32
2331 Min_keysize uint32
2332 Max_keysize uint32
2333}
2334
2335type CryptoReportBlkCipher struct {
2336 Type [64]int8
2337 Geniv [64]int8
2338 Blocksize uint32
2339 Min_keysize uint32
2340 Max_keysize uint32
2341 Ivsize uint32
2342}
2343
2344type CryptoReportAEAD struct {
2345 Type [64]int8
2346 Geniv [64]int8
2347 Blocksize uint32
2348 Maxauthsize uint32
2349 Ivsize uint32
2350}
2351
2352type CryptoReportComp struct {
2353 Type [64]int8
2354}
2355
2356type CryptoReportRNG struct {
2357 Type [64]int8
2358 Seedsize uint32
2359}
2360
2361type CryptoReportAKCipher struct {
2362 Type [64]int8
2363}
2364
2365type CryptoReportKPP struct {
2366 Type [64]int8
2367}
2368
2369type CryptoReportAcomp struct {
2370 Type [64]int8
2371}
2372
2373const (
2374 BPF_REG_0 = 0x0
2375 BPF_REG_1 = 0x1
2376 BPF_REG_2 = 0x2
2377 BPF_REG_3 = 0x3
2378 BPF_REG_4 = 0x4
2379 BPF_REG_5 = 0x5
2380 BPF_REG_6 = 0x6
2381 BPF_REG_7 = 0x7
2382 BPF_REG_8 = 0x8
2383 BPF_REG_9 = 0x9
2384 BPF_REG_10 = 0xa
2385 BPF_MAP_CREATE = 0x0
2386 BPF_MAP_LOOKUP_ELEM = 0x1
2387 BPF_MAP_UPDATE_ELEM = 0x2
2388 BPF_MAP_DELETE_ELEM = 0x3
2389 BPF_MAP_GET_NEXT_KEY = 0x4
2390 BPF_PROG_LOAD = 0x5
2391 BPF_OBJ_PIN = 0x6
2392 BPF_OBJ_GET = 0x7
2393 BPF_PROG_ATTACH = 0x8
2394 BPF_PROG_DETACH = 0x9
2395 BPF_PROG_TEST_RUN = 0xa
2396 BPF_PROG_GET_NEXT_ID = 0xb
2397 BPF_MAP_GET_NEXT_ID = 0xc
2398 BPF_PROG_GET_FD_BY_ID = 0xd
2399 BPF_MAP_GET_FD_BY_ID = 0xe
2400 BPF_OBJ_GET_INFO_BY_FD = 0xf
2401 BPF_PROG_QUERY = 0x10
2402 BPF_RAW_TRACEPOINT_OPEN = 0x11
2403 BPF_BTF_LOAD = 0x12
2404 BPF_BTF_GET_FD_BY_ID = 0x13
2405 BPF_TASK_FD_QUERY = 0x14
2406 BPF_MAP_LOOKUP_AND_DELETE_ELEM = 0x15
2407 BPF_MAP_TYPE_UNSPEC = 0x0
2408 BPF_MAP_TYPE_HASH = 0x1
2409 BPF_MAP_TYPE_ARRAY = 0x2
2410 BPF_MAP_TYPE_PROG_ARRAY = 0x3
2411 BPF_MAP_TYPE_PERF_EVENT_ARRAY = 0x4
2412 BPF_MAP_TYPE_PERCPU_HASH = 0x5
2413 BPF_MAP_TYPE_PERCPU_ARRAY = 0x6
2414 BPF_MAP_TYPE_STACK_TRACE = 0x7
2415 BPF_MAP_TYPE_CGROUP_ARRAY = 0x8
2416 BPF_MAP_TYPE_LRU_HASH = 0x9
2417 BPF_MAP_TYPE_LRU_PERCPU_HASH = 0xa
2418 BPF_MAP_TYPE_LPM_TRIE = 0xb
2419 BPF_MAP_TYPE_ARRAY_OF_MAPS = 0xc
2420 BPF_MAP_TYPE_HASH_OF_MAPS = 0xd
2421 BPF_MAP_TYPE_DEVMAP = 0xe
2422 BPF_MAP_TYPE_SOCKMAP = 0xf
2423 BPF_MAP_TYPE_CPUMAP = 0x10
2424 BPF_MAP_TYPE_XSKMAP = 0x11
2425 BPF_MAP_TYPE_SOCKHASH = 0x12
2426 BPF_MAP_TYPE_CGROUP_STORAGE = 0x13
2427 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY = 0x14
2428 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE = 0x15
2429 BPF_MAP_TYPE_QUEUE = 0x16
2430 BPF_MAP_TYPE_STACK = 0x17
2431 BPF_PROG_TYPE_UNSPEC = 0x0
2432 BPF_PROG_TYPE_SOCKET_FILTER = 0x1
2433 BPF_PROG_TYPE_KPROBE = 0x2
2434 BPF_PROG_TYPE_SCHED_CLS = 0x3
2435 BPF_PROG_TYPE_SCHED_ACT = 0x4
2436 BPF_PROG_TYPE_TRACEPOINT = 0x5
2437 BPF_PROG_TYPE_XDP = 0x6
2438 BPF_PROG_TYPE_PERF_EVENT = 0x7
2439 BPF_PROG_TYPE_CGROUP_SKB = 0x8
2440 BPF_PROG_TYPE_CGROUP_SOCK = 0x9
2441 BPF_PROG_TYPE_LWT_IN = 0xa
2442 BPF_PROG_TYPE_LWT_OUT = 0xb
2443 BPF_PROG_TYPE_LWT_XMIT = 0xc
2444 BPF_PROG_TYPE_SOCK_OPS = 0xd
2445 BPF_PROG_TYPE_SK_SKB = 0xe
2446 BPF_PROG_TYPE_CGROUP_DEVICE = 0xf
2447 BPF_PROG_TYPE_SK_MSG = 0x10
2448 BPF_PROG_TYPE_RAW_TRACEPOINT = 0x11
2449 BPF_PROG_TYPE_CGROUP_SOCK_ADDR = 0x12
2450 BPF_PROG_TYPE_LWT_SEG6LOCAL = 0x13
2451 BPF_PROG_TYPE_LIRC_MODE2 = 0x14
2452 BPF_PROG_TYPE_SK_REUSEPORT = 0x15
2453 BPF_PROG_TYPE_FLOW_DISSECTOR = 0x16
2454 BPF_CGROUP_INET_INGRESS = 0x0
2455 BPF_CGROUP_INET_EGRESS = 0x1
2456 BPF_CGROUP_INET_SOCK_CREATE = 0x2
2457 BPF_CGROUP_SOCK_OPS = 0x3
2458 BPF_SK_SKB_STREAM_PARSER = 0x4
2459 BPF_SK_SKB_STREAM_VERDICT = 0x5
2460 BPF_CGROUP_DEVICE = 0x6
2461 BPF_SK_MSG_VERDICT = 0x7
2462 BPF_CGROUP_INET4_BIND = 0x8
2463 BPF_CGROUP_INET6_BIND = 0x9
2464 BPF_CGROUP_INET4_CONNECT = 0xa
2465 BPF_CGROUP_INET6_CONNECT = 0xb
2466 BPF_CGROUP_INET4_POST_BIND = 0xc
2467 BPF_CGROUP_INET6_POST_BIND = 0xd
2468 BPF_CGROUP_UDP4_SENDMSG = 0xe
2469 BPF_CGROUP_UDP6_SENDMSG = 0xf
2470 BPF_LIRC_MODE2 = 0x10
2471 BPF_FLOW_DISSECTOR = 0x11
2472 BPF_STACK_BUILD_ID_EMPTY = 0x0
2473 BPF_STACK_BUILD_ID_VALID = 0x1
2474 BPF_STACK_BUILD_ID_IP = 0x2
2475 BPF_ADJ_ROOM_NET = 0x0
2476 BPF_HDR_START_MAC = 0x0
2477 BPF_HDR_START_NET = 0x1
2478 BPF_LWT_ENCAP_SEG6 = 0x0
2479 BPF_LWT_ENCAP_SEG6_INLINE = 0x1
2480 BPF_OK = 0x0
2481 BPF_DROP = 0x2
2482 BPF_REDIRECT = 0x7
2483 BPF_SOCK_OPS_VOID = 0x0
2484 BPF_SOCK_OPS_TIMEOUT_INIT = 0x1
2485 BPF_SOCK_OPS_RWND_INIT = 0x2
2486 BPF_SOCK_OPS_TCP_CONNECT_CB = 0x3
2487 BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB = 0x4
2488 BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB = 0x5
2489 BPF_SOCK_OPS_NEEDS_ECN = 0x6
2490 BPF_SOCK_OPS_BASE_RTT = 0x7
2491 BPF_SOCK_OPS_RTO_CB = 0x8
2492 BPF_SOCK_OPS_RETRANS_CB = 0x9
2493 BPF_SOCK_OPS_STATE_CB = 0xa
2494 BPF_SOCK_OPS_TCP_LISTEN_CB = 0xb
2495 BPF_TCP_ESTABLISHED = 0x1
2496 BPF_TCP_SYN_SENT = 0x2
2497 BPF_TCP_SYN_RECV = 0x3
2498 BPF_TCP_FIN_WAIT1 = 0x4
2499 BPF_TCP_FIN_WAIT2 = 0x5
2500 BPF_TCP_TIME_WAIT = 0x6
2501 BPF_TCP_CLOSE = 0x7
2502 BPF_TCP_CLOSE_WAIT = 0x8
2503 BPF_TCP_LAST_ACK = 0x9
2504 BPF_TCP_LISTEN = 0xa
2505 BPF_TCP_CLOSING = 0xb
2506 BPF_TCP_NEW_SYN_RECV = 0xc
2507 BPF_TCP_MAX_STATES = 0xd
2508 BPF_FIB_LKUP_RET_SUCCESS = 0x0
2509 BPF_FIB_LKUP_RET_BLACKHOLE = 0x1
2510 BPF_FIB_LKUP_RET_UNREACHABLE = 0x2
2511 BPF_FIB_LKUP_RET_PROHIBIT = 0x3
2512 BPF_FIB_LKUP_RET_NOT_FWDED = 0x4
2513 BPF_FIB_LKUP_RET_FWD_DISABLED = 0x5
2514 BPF_FIB_LKUP_RET_UNSUPP_LWT = 0x6
2515 BPF_FIB_LKUP_RET_NO_NEIGH = 0x7
2516 BPF_FIB_LKUP_RET_FRAG_NEEDED = 0x8
2517 BPF_FD_TYPE_RAW_TRACEPOINT = 0x0
2518 BPF_FD_TYPE_TRACEPOINT = 0x1
2519 BPF_FD_TYPE_KPROBE = 0x2
2520 BPF_FD_TYPE_KRETPROBE = 0x3
2521 BPF_FD_TYPE_UPROBE = 0x4
2522 BPF_FD_TYPE_URETPROBE = 0x5
2523)
2524
2525const (
2526 RTNLGRP_NONE = 0x0
2527 RTNLGRP_LINK = 0x1
2528 RTNLGRP_NOTIFY = 0x2
2529 RTNLGRP_NEIGH = 0x3
2530 RTNLGRP_TC = 0x4
2531 RTNLGRP_IPV4_IFADDR = 0x5
2532 RTNLGRP_IPV4_MROUTE = 0x6
2533 RTNLGRP_IPV4_ROUTE = 0x7
2534 RTNLGRP_IPV4_RULE = 0x8
2535 RTNLGRP_IPV6_IFADDR = 0x9
2536 RTNLGRP_IPV6_MROUTE = 0xa
2537 RTNLGRP_IPV6_ROUTE = 0xb
2538 RTNLGRP_IPV6_IFINFO = 0xc
2539 RTNLGRP_DECnet_IFADDR = 0xd
2540 RTNLGRP_NOP2 = 0xe
2541 RTNLGRP_DECnet_ROUTE = 0xf
2542 RTNLGRP_DECnet_RULE = 0x10
2543 RTNLGRP_NOP4 = 0x11
2544 RTNLGRP_IPV6_PREFIX = 0x12
2545 RTNLGRP_IPV6_RULE = 0x13
2546 RTNLGRP_ND_USEROPT = 0x14
2547 RTNLGRP_PHONET_IFADDR = 0x15
2548 RTNLGRP_PHONET_ROUTE = 0x16
2549 RTNLGRP_DCB = 0x17
2550 RTNLGRP_IPV4_NETCONF = 0x18
2551 RTNLGRP_IPV6_NETCONF = 0x19
2552 RTNLGRP_MDB = 0x1a
2553 RTNLGRP_MPLS_ROUTE = 0x1b
2554 RTNLGRP_NSID = 0x1c
2555 RTNLGRP_MPLS_NETCONF = 0x1d
2556 RTNLGRP_IPV4_MROUTE_R = 0x1e
2557 RTNLGRP_IPV6_MROUTE_R = 0x1f
2558 RTNLGRP_NEXTHOP = 0x20
2559)
2560
2561type CapUserHeader struct {
2562 Version uint32
2563 Pid int32
2564}
2565
2566type CapUserData struct {
2567 Effective uint32
2568 Permitted uint32
2569 Inheritable uint32
2570}
2571
2572const (
2573 LINUX_CAPABILITY_VERSION_1 = 0x19980330
2574 LINUX_CAPABILITY_VERSION_2 = 0x20071026
2575 LINUX_CAPABILITY_VERSION_3 = 0x20080522
2576)
2577
2578const (
2579 LO_FLAGS_READ_ONLY = 0x1
2580 LO_FLAGS_AUTOCLEAR = 0x4
2581 LO_FLAGS_PARTSCAN = 0x8
2582 LO_FLAGS_DIRECT_IO = 0x10
2583)
2584
2585type LoopInfo struct {
2586 Number int32
2587 Device uint32
2588 Inode uint64
2589 Rdevice uint32
2590 Offset int32
2591 Encrypt_type int32
2592 Encrypt_key_size int32
2593 Flags int32
2594 Name [64]int8
2595 Encrypt_key [32]uint8
2596 Init [2]uint64
2597 Reserved [4]int8
2598 _ [4]byte
2599}
2600type LoopInfo64 struct {
2601 Device uint64
2602 Inode uint64
2603 Rdevice uint64
2604 Offset uint64
2605 Sizelimit uint64
2606 Number uint32
2607 Encrypt_type uint32
2608 Encrypt_key_size uint32
2609 Flags uint32
2610 File_name [64]uint8
2611 Crypt_name [64]uint8
2612 Encrypt_key [32]uint8
2613 Init [2]uint64
2614}
2615
2616type TIPCSocketAddr struct {
2617 Ref uint32
2618 Node uint32
2619}
2620
2621type TIPCServiceRange struct {
2622 Type uint32
2623 Lower uint32
2624 Upper uint32
2625}
2626
2627type TIPCServiceName struct {
2628 Type uint32
2629 Instance uint32
2630 Domain uint32
2631}
2632
2633type TIPCSubscr struct {
2634 Seq TIPCServiceRange
2635 Timeout uint32
2636 Filter uint32
2637 Handle [8]int8
2638}
2639
2640type TIPCEvent struct {
2641 Event uint32
2642 Lower uint32
2643 Upper uint32
2644 Port TIPCSocketAddr
2645 S TIPCSubscr
2646}
2647
2648type TIPCGroupReq struct {
2649 Type uint32
2650 Instance uint32
2651 Scope uint32
2652 Flags uint32
2653}
2654
2655type TIPCSIOCLNReq struct {
2656 Peer uint32
2657 Id uint32
2658 Linkname [68]int8
2659}
2660
2661type TIPCSIOCNodeIDReq struct {
2662 Peer uint32
2663 Id [16]int8
2664}
2665
2666const (
2667 TIPC_CLUSTER_SCOPE = 0x2
2668 TIPC_NODE_SCOPE = 0x3
2669)
2670
2671const (
2672 SYSLOG_ACTION_CLOSE = 0
2673 SYSLOG_ACTION_OPEN = 1
2674 SYSLOG_ACTION_READ = 2
2675 SYSLOG_ACTION_READ_ALL = 3
2676 SYSLOG_ACTION_READ_CLEAR = 4
2677 SYSLOG_ACTION_CLEAR = 5
2678 SYSLOG_ACTION_CONSOLE_OFF = 6
2679 SYSLOG_ACTION_CONSOLE_ON = 7
2680 SYSLOG_ACTION_CONSOLE_LEVEL = 8
2681 SYSLOG_ACTION_SIZE_UNREAD = 9
2682 SYSLOG_ACTION_SIZE_BUFFER = 10
2683)
2684
2685const (
2686 DEVLINK_CMD_UNSPEC = 0x0
2687 DEVLINK_CMD_GET = 0x1
2688 DEVLINK_CMD_SET = 0x2
2689 DEVLINK_CMD_NEW = 0x3
2690 DEVLINK_CMD_DEL = 0x4
2691 DEVLINK_CMD_PORT_GET = 0x5
2692 DEVLINK_CMD_PORT_SET = 0x6
2693 DEVLINK_CMD_PORT_NEW = 0x7
2694 DEVLINK_CMD_PORT_DEL = 0x8
2695 DEVLINK_CMD_PORT_SPLIT = 0x9
2696 DEVLINK_CMD_PORT_UNSPLIT = 0xa
2697 DEVLINK_CMD_SB_GET = 0xb
2698 DEVLINK_CMD_SB_SET = 0xc
2699 DEVLINK_CMD_SB_NEW = 0xd
2700 DEVLINK_CMD_SB_DEL = 0xe
2701 DEVLINK_CMD_SB_POOL_GET = 0xf
2702 DEVLINK_CMD_SB_POOL_SET = 0x10
2703 DEVLINK_CMD_SB_POOL_NEW = 0x11
2704 DEVLINK_CMD_SB_POOL_DEL = 0x12
2705 DEVLINK_CMD_SB_PORT_POOL_GET = 0x13
2706 DEVLINK_CMD_SB_PORT_POOL_SET = 0x14
2707 DEVLINK_CMD_SB_PORT_POOL_NEW = 0x15
2708 DEVLINK_CMD_SB_PORT_POOL_DEL = 0x16
2709 DEVLINK_CMD_SB_TC_POOL_BIND_GET = 0x17
2710 DEVLINK_CMD_SB_TC_POOL_BIND_SET = 0x18
2711 DEVLINK_CMD_SB_TC_POOL_BIND_NEW = 0x19
2712 DEVLINK_CMD_SB_TC_POOL_BIND_DEL = 0x1a
2713 DEVLINK_CMD_SB_OCC_SNAPSHOT = 0x1b
2714 DEVLINK_CMD_SB_OCC_MAX_CLEAR = 0x1c
2715 DEVLINK_CMD_ESWITCH_GET = 0x1d
2716 DEVLINK_CMD_ESWITCH_SET = 0x1e
2717 DEVLINK_CMD_DPIPE_TABLE_GET = 0x1f
2718 DEVLINK_CMD_DPIPE_ENTRIES_GET = 0x20
2719 DEVLINK_CMD_DPIPE_HEADERS_GET = 0x21
2720 DEVLINK_CMD_DPIPE_TABLE_COUNTERS_SET = 0x22
2721 DEVLINK_CMD_MAX = 0x44
2722 DEVLINK_PORT_TYPE_NOTSET = 0x0
2723 DEVLINK_PORT_TYPE_AUTO = 0x1
2724 DEVLINK_PORT_TYPE_ETH = 0x2
2725 DEVLINK_PORT_TYPE_IB = 0x3
2726 DEVLINK_SB_POOL_TYPE_INGRESS = 0x0
2727 DEVLINK_SB_POOL_TYPE_EGRESS = 0x1
2728 DEVLINK_SB_THRESHOLD_TYPE_STATIC = 0x0
2729 DEVLINK_SB_THRESHOLD_TYPE_DYNAMIC = 0x1
2730 DEVLINK_ESWITCH_MODE_LEGACY = 0x0
2731 DEVLINK_ESWITCH_MODE_SWITCHDEV = 0x1
2732 DEVLINK_ESWITCH_INLINE_MODE_NONE = 0x0
2733 DEVLINK_ESWITCH_INLINE_MODE_LINK = 0x1
2734 DEVLINK_ESWITCH_INLINE_MODE_NETWORK = 0x2
2735 DEVLINK_ESWITCH_INLINE_MODE_TRANSPORT = 0x3
2736 DEVLINK_ESWITCH_ENCAP_MODE_NONE = 0x0
2737 DEVLINK_ESWITCH_ENCAP_MODE_BASIC = 0x1
2738 DEVLINK_ATTR_UNSPEC = 0x0
2739 DEVLINK_ATTR_BUS_NAME = 0x1
2740 DEVLINK_ATTR_DEV_NAME = 0x2
2741 DEVLINK_ATTR_PORT_INDEX = 0x3
2742 DEVLINK_ATTR_PORT_TYPE = 0x4
2743 DEVLINK_ATTR_PORT_DESIRED_TYPE = 0x5
2744 DEVLINK_ATTR_PORT_NETDEV_IFINDEX = 0x6
2745 DEVLINK_ATTR_PORT_NETDEV_NAME = 0x7
2746 DEVLINK_ATTR_PORT_IBDEV_NAME = 0x8
2747 DEVLINK_ATTR_PORT_SPLIT_COUNT = 0x9
2748 DEVLINK_ATTR_PORT_SPLIT_GROUP = 0xa
2749 DEVLINK_ATTR_SB_INDEX = 0xb
2750 DEVLINK_ATTR_SB_SIZE = 0xc
2751 DEVLINK_ATTR_SB_INGRESS_POOL_COUNT = 0xd
2752 DEVLINK_ATTR_SB_EGRESS_POOL_COUNT = 0xe
2753 DEVLINK_ATTR_SB_INGRESS_TC_COUNT = 0xf
2754 DEVLINK_ATTR_SB_EGRESS_TC_COUNT = 0x10
2755 DEVLINK_ATTR_SB_POOL_INDEX = 0x11
2756 DEVLINK_ATTR_SB_POOL_TYPE = 0x12
2757 DEVLINK_ATTR_SB_POOL_SIZE = 0x13
2758 DEVLINK_ATTR_SB_POOL_THRESHOLD_TYPE = 0x14
2759 DEVLINK_ATTR_SB_THRESHOLD = 0x15
2760 DEVLINK_ATTR_SB_TC_INDEX = 0x16
2761 DEVLINK_ATTR_SB_OCC_CUR = 0x17
2762 DEVLINK_ATTR_SB_OCC_MAX = 0x18
2763 DEVLINK_ATTR_ESWITCH_MODE = 0x19
2764 DEVLINK_ATTR_ESWITCH_INLINE_MODE = 0x1a
2765 DEVLINK_ATTR_DPIPE_TABLES = 0x1b
2766 DEVLINK_ATTR_DPIPE_TABLE = 0x1c
2767 DEVLINK_ATTR_DPIPE_TABLE_NAME = 0x1d
2768 DEVLINK_ATTR_DPIPE_TABLE_SIZE = 0x1e
2769 DEVLINK_ATTR_DPIPE_TABLE_MATCHES = 0x1f
2770 DEVLINK_ATTR_DPIPE_TABLE_ACTIONS = 0x20
2771 DEVLINK_ATTR_DPIPE_TABLE_COUNTERS_ENABLED = 0x21
2772 DEVLINK_ATTR_DPIPE_ENTRIES = 0x22
2773 DEVLINK_ATTR_DPIPE_ENTRY = 0x23
2774 DEVLINK_ATTR_DPIPE_ENTRY_INDEX = 0x24
2775 DEVLINK_ATTR_DPIPE_ENTRY_MATCH_VALUES = 0x25
2776 DEVLINK_ATTR_DPIPE_ENTRY_ACTION_VALUES = 0x26
2777 DEVLINK_ATTR_DPIPE_ENTRY_COUNTER = 0x27
2778 DEVLINK_ATTR_DPIPE_MATCH = 0x28
2779 DEVLINK_ATTR_DPIPE_MATCH_VALUE = 0x29
2780 DEVLINK_ATTR_DPIPE_MATCH_TYPE = 0x2a
2781 DEVLINK_ATTR_DPIPE_ACTION = 0x2b
2782 DEVLINK_ATTR_DPIPE_ACTION_VALUE = 0x2c
2783 DEVLINK_ATTR_DPIPE_ACTION_TYPE = 0x2d
2784 DEVLINK_ATTR_DPIPE_VALUE = 0x2e
2785 DEVLINK_ATTR_DPIPE_VALUE_MASK = 0x2f
2786 DEVLINK_ATTR_DPIPE_VALUE_MAPPING = 0x30
2787 DEVLINK_ATTR_DPIPE_HEADERS = 0x31
2788 DEVLINK_ATTR_DPIPE_HEADER = 0x32
2789 DEVLINK_ATTR_DPIPE_HEADER_NAME = 0x33
2790 DEVLINK_ATTR_DPIPE_HEADER_ID = 0x34
2791 DEVLINK_ATTR_DPIPE_HEADER_FIELDS = 0x35
2792 DEVLINK_ATTR_DPIPE_HEADER_GLOBAL = 0x36
2793 DEVLINK_ATTR_DPIPE_HEADER_INDEX = 0x37
2794 DEVLINK_ATTR_DPIPE_FIELD = 0x38
2795 DEVLINK_ATTR_DPIPE_FIELD_NAME = 0x39
2796 DEVLINK_ATTR_DPIPE_FIELD_ID = 0x3a
2797 DEVLINK_ATTR_DPIPE_FIELD_BITWIDTH = 0x3b
2798 DEVLINK_ATTR_DPIPE_FIELD_MAPPING_TYPE = 0x3c
2799 DEVLINK_ATTR_PAD = 0x3d
2800 DEVLINK_ATTR_ESWITCH_ENCAP_MODE = 0x3e
2801 DEVLINK_ATTR_MAX = 0x8c
2802 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
2803 DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
2804 DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
2805 DEVLINK_DPIPE_ACTION_TYPE_FIELD_MODIFY = 0x0
2806 DEVLINK_DPIPE_FIELD_ETHERNET_DST_MAC = 0x0
2807 DEVLINK_DPIPE_FIELD_IPV4_DST_IP = 0x0
2808 DEVLINK_DPIPE_FIELD_IPV6_DST_IP = 0x0
2809 DEVLINK_DPIPE_HEADER_ETHERNET = 0x0
2810 DEVLINK_DPIPE_HEADER_IPV4 = 0x1
2811 DEVLINK_DPIPE_HEADER_IPV6 = 0x2
2812)