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