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