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