github.com/lianghucheng/zrddz@v0.0.0-20200923083010-c71f680932e2/src/golang.org/x/sys/unix/ztypes_linux_arm64.go (about)

     1  // cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go
     2  // Code generated by the command above; see README.md. DO NOT EDIT.
     3  
     4  // +build arm64,linux
     5  
     6  package unix
     7  
     8  const (
     9  	SizeofPtr      = 0x8
    10  	SizeofShort    = 0x2
    11  	SizeofInt      = 0x4
    12  	SizeofLong     = 0x8
    13  	SizeofLongLong = 0x8
    14  	PathMax        = 0x1000
    15  )
    16  
    17  type (
    18  	_C_short     int16
    19  	_C_int       int32
    20  	_C_long      int64
    21  	_C_long_long int64
    22  )
    23  
    24  type Timespec struct {
    25  	Sec  int64
    26  	Nsec int64
    27  }
    28  
    29  type Timeval struct {
    30  	Sec  int64
    31  	Usec int64
    32  }
    33  
    34  type 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  
    58  type Time_t int64
    59  
    60  type Tms struct {
    61  	Utime  int64
    62  	Stime  int64
    63  	Cutime int64
    64  	Cstime int64
    65  }
    66  
    67  type Utimbuf struct {
    68  	Actime  int64
    69  	Modtime int64
    70  }
    71  
    72  type Rusage struct {
    73  	Utime    Timeval
    74  	Stime    Timeval
    75  	Maxrss   int64
    76  	Ixrss    int64
    77  	Idrss    int64
    78  	Isrss    int64
    79  	Minflt   int64
    80  	Majflt   int64
    81  	Nswap    int64
    82  	Inblock  int64
    83  	Oublock  int64
    84  	Msgsnd   int64
    85  	Msgrcv   int64
    86  	Nsignals int64
    87  	Nvcsw    int64
    88  	Nivcsw   int64
    89  }
    90  
    91  type Rlimit struct {
    92  	Cur uint64
    93  	Max uint64
    94  }
    95  
    96  type _Gid_t uint32
    97  
    98  type Stat_t struct {
    99  	Dev     uint64
   100  	Ino     uint64
   101  	Mode    uint32
   102  	Nlink   uint32
   103  	Uid     uint32
   104  	Gid     uint32
   105  	Rdev    uint64
   106  	_       uint64
   107  	Size    int64
   108  	Blksize int32
   109  	_       int32
   110  	Blocks  int64
   111  	Atim    Timespec
   112  	Mtim    Timespec
   113  	Ctim    Timespec
   114  	_       [2]int32
   115  }
   116  
   117  type StatxTimestamp struct {
   118  	Sec  int64
   119  	Nsec uint32
   120  	_    int32
   121  }
   122  
   123  type Statx_t struct {
   124  	Mask            uint32
   125  	Blksize         uint32
   126  	Attributes      uint64
   127  	Nlink           uint32
   128  	Uid             uint32
   129  	Gid             uint32
   130  	Mode            uint16
   131  	_               [1]uint16
   132  	Ino             uint64
   133  	Size            uint64
   134  	Blocks          uint64
   135  	Attributes_mask uint64
   136  	Atime           StatxTimestamp
   137  	Btime           StatxTimestamp
   138  	Ctime           StatxTimestamp
   139  	Mtime           StatxTimestamp
   140  	Rdev_major      uint32
   141  	Rdev_minor      uint32
   142  	Dev_major       uint32
   143  	Dev_minor       uint32
   144  	_               [14]uint64
   145  }
   146  
   147  type Dirent struct {
   148  	Ino    uint64
   149  	Off    int64
   150  	Reclen uint16
   151  	Type   uint8
   152  	Name   [256]int8
   153  	_      [5]byte
   154  }
   155  
   156  type Fsid struct {
   157  	Val [2]int32
   158  }
   159  
   160  type Flock_t struct {
   161  	Type   int16
   162  	Whence int16
   163  	Start  int64
   164  	Len    int64
   165  	Pid    int32
   166  	_      [4]byte
   167  }
   168  
   169  type FscryptPolicy struct {
   170  	Version                   uint8
   171  	Contents_encryption_mode  uint8
   172  	Filenames_encryption_mode uint8
   173  	Flags                     uint8
   174  	Master_key_descriptor     [8]uint8
   175  }
   176  
   177  type FscryptKey struct {
   178  	Mode uint32
   179  	Raw  [64]uint8
   180  	Size uint32
   181  }
   182  
   183  type KeyctlDHParams struct {
   184  	Private int32
   185  	Prime   int32
   186  	Base    int32
   187  }
   188  
   189  const (
   190  	FADV_NORMAL     = 0x0
   191  	FADV_RANDOM     = 0x1
   192  	FADV_SEQUENTIAL = 0x2
   193  	FADV_WILLNEED   = 0x3
   194  	FADV_DONTNEED   = 0x4
   195  	FADV_NOREUSE    = 0x5
   196  )
   197  
   198  type RawSockaddrInet4 struct {
   199  	Family uint16
   200  	Port   uint16
   201  	Addr   [4]byte /* in_addr */
   202  	Zero   [8]uint8
   203  }
   204  
   205  type RawSockaddrInet6 struct {
   206  	Family   uint16
   207  	Port     uint16
   208  	Flowinfo uint32
   209  	Addr     [16]byte /* in6_addr */
   210  	Scope_id uint32
   211  }
   212  
   213  type RawSockaddrUnix struct {
   214  	Family uint16
   215  	Path   [108]int8
   216  }
   217  
   218  type RawSockaddrLinklayer struct {
   219  	Family   uint16
   220  	Protocol uint16
   221  	Ifindex  int32
   222  	Hatype   uint16
   223  	Pkttype  uint8
   224  	Halen    uint8
   225  	Addr     [8]uint8
   226  }
   227  
   228  type RawSockaddrNetlink struct {
   229  	Family uint16
   230  	Pad    uint16
   231  	Pid    uint32
   232  	Groups uint32
   233  }
   234  
   235  type RawSockaddrHCI struct {
   236  	Family  uint16
   237  	Dev     uint16
   238  	Channel uint16
   239  }
   240  
   241  type RawSockaddrL2 struct {
   242  	Family      uint16
   243  	Psm         uint16
   244  	Bdaddr      [6]uint8
   245  	Cid         uint16
   246  	Bdaddr_type uint8
   247  	_           [1]byte
   248  }
   249  
   250  type RawSockaddrRFCOMM struct {
   251  	Family  uint16
   252  	Bdaddr  [6]uint8
   253  	Channel uint8
   254  	_       [1]byte
   255  }
   256  
   257  type RawSockaddrCAN struct {
   258  	Family  uint16
   259  	Ifindex int32
   260  	Addr    [8]byte
   261  }
   262  
   263  type RawSockaddrALG struct {
   264  	Family uint16
   265  	Type   [14]uint8
   266  	Feat   uint32
   267  	Mask   uint32
   268  	Name   [64]uint8
   269  }
   270  
   271  type RawSockaddrVM struct {
   272  	Family    uint16
   273  	Reserved1 uint16
   274  	Port      uint32
   275  	Cid       uint32
   276  	Zero      [4]uint8
   277  }
   278  
   279  type RawSockaddrXDP struct {
   280  	Family         uint16
   281  	Flags          uint16
   282  	Ifindex        uint32
   283  	Queue_id       uint32
   284  	Shared_umem_fd uint32
   285  }
   286  
   287  type RawSockaddrPPPoX [0x1e]byte
   288  
   289  type RawSockaddr struct {
   290  	Family uint16
   291  	Data   [14]int8
   292  }
   293  
   294  type RawSockaddrAny struct {
   295  	Addr RawSockaddr
   296  	Pad  [96]int8
   297  }
   298  
   299  type _Socklen uint32
   300  
   301  type Linger struct {
   302  	Onoff  int32
   303  	Linger int32
   304  }
   305  
   306  type Iovec struct {
   307  	Base *byte
   308  	Len  uint64
   309  }
   310  
   311  type IPMreq struct {
   312  	Multiaddr [4]byte /* in_addr */
   313  	Interface [4]byte /* in_addr */
   314  }
   315  
   316  type IPMreqn struct {
   317  	Multiaddr [4]byte /* in_addr */
   318  	Address   [4]byte /* in_addr */
   319  	Ifindex   int32
   320  }
   321  
   322  type IPv6Mreq struct {
   323  	Multiaddr [16]byte /* in6_addr */
   324  	Interface uint32
   325  }
   326  
   327  type PacketMreq struct {
   328  	Ifindex int32
   329  	Type    uint16
   330  	Alen    uint16
   331  	Address [8]uint8
   332  }
   333  
   334  type Msghdr struct {
   335  	Name       *byte
   336  	Namelen    uint32
   337  	Iov        *Iovec
   338  	Iovlen     uint64
   339  	Control    *byte
   340  	Controllen uint64
   341  	Flags      int32
   342  	_          [4]byte
   343  }
   344  
   345  type Cmsghdr struct {
   346  	Len   uint64
   347  	Level int32
   348  	Type  int32
   349  }
   350  
   351  type Inet4Pktinfo struct {
   352  	Ifindex  int32
   353  	Spec_dst [4]byte /* in_addr */
   354  	Addr     [4]byte /* in_addr */
   355  }
   356  
   357  type Inet6Pktinfo struct {
   358  	Addr    [16]byte /* in6_addr */
   359  	Ifindex uint32
   360  }
   361  
   362  type IPv6MTUInfo struct {
   363  	Addr RawSockaddrInet6
   364  	Mtu  uint32
   365  }
   366  
   367  type ICMPv6Filter struct {
   368  	Data [8]uint32
   369  }
   370  
   371  type Ucred struct {
   372  	Pid int32
   373  	Uid uint32
   374  	Gid uint32
   375  }
   376  
   377  type TCPInfo struct {
   378  	State          uint8
   379  	Ca_state       uint8
   380  	Retransmits    uint8
   381  	Probes         uint8
   382  	Backoff        uint8
   383  	Options        uint8
   384  	Rto            uint32
   385  	Ato            uint32
   386  	Snd_mss        uint32
   387  	Rcv_mss        uint32
   388  	Unacked        uint32
   389  	Sacked         uint32
   390  	Lost           uint32
   391  	Retrans        uint32
   392  	Fackets        uint32
   393  	Last_data_sent uint32
   394  	Last_ack_sent  uint32
   395  	Last_data_recv uint32
   396  	Last_ack_recv  uint32
   397  	Pmtu           uint32
   398  	Rcv_ssthresh   uint32
   399  	Rtt            uint32
   400  	Rttvar         uint32
   401  	Snd_ssthresh   uint32
   402  	Snd_cwnd       uint32
   403  	Advmss         uint32
   404  	Reordering     uint32
   405  	Rcv_rtt        uint32
   406  	Rcv_space      uint32
   407  	Total_retrans  uint32
   408  }
   409  
   410  type CanFilter struct {
   411  	Id   uint32
   412  	Mask uint32
   413  }
   414  
   415  const (
   416  	SizeofSockaddrInet4     = 0x10
   417  	SizeofSockaddrInet6     = 0x1c
   418  	SizeofSockaddrAny       = 0x70
   419  	SizeofSockaddrUnix      = 0x6e
   420  	SizeofSockaddrLinklayer = 0x14
   421  	SizeofSockaddrNetlink   = 0xc
   422  	SizeofSockaddrHCI       = 0x6
   423  	SizeofSockaddrL2        = 0xe
   424  	SizeofSockaddrRFCOMM    = 0xa
   425  	SizeofSockaddrCAN       = 0x10
   426  	SizeofSockaddrALG       = 0x58
   427  	SizeofSockaddrVM        = 0x10
   428  	SizeofSockaddrXDP       = 0x10
   429  	SizeofSockaddrPPPoX     = 0x1e
   430  	SizeofLinger            = 0x8
   431  	SizeofIovec             = 0x10
   432  	SizeofIPMreq            = 0x8
   433  	SizeofIPMreqn           = 0xc
   434  	SizeofIPv6Mreq          = 0x14
   435  	SizeofPacketMreq        = 0x10
   436  	SizeofMsghdr            = 0x38
   437  	SizeofCmsghdr           = 0x10
   438  	SizeofInet4Pktinfo      = 0xc
   439  	SizeofInet6Pktinfo      = 0x14
   440  	SizeofIPv6MTUInfo       = 0x20
   441  	SizeofICMPv6Filter      = 0x20
   442  	SizeofUcred             = 0xc
   443  	SizeofTCPInfo           = 0x68
   444  	SizeofCanFilter         = 0x8
   445  )
   446  
   447  const (
   448  	IFA_UNSPEC           = 0x0
   449  	IFA_ADDRESS          = 0x1
   450  	IFA_LOCAL            = 0x2
   451  	IFA_LABEL            = 0x3
   452  	IFA_BROADCAST        = 0x4
   453  	IFA_ANYCAST          = 0x5
   454  	IFA_CACHEINFO        = 0x6
   455  	IFA_MULTICAST        = 0x7
   456  	IFLA_UNSPEC          = 0x0
   457  	IFLA_ADDRESS         = 0x1
   458  	IFLA_BROADCAST       = 0x2
   459  	IFLA_IFNAME          = 0x3
   460  	IFLA_INFO_KIND       = 0x1
   461  	IFLA_MTU             = 0x4
   462  	IFLA_LINK            = 0x5
   463  	IFLA_QDISC           = 0x6
   464  	IFLA_STATS           = 0x7
   465  	IFLA_COST            = 0x8
   466  	IFLA_PRIORITY        = 0x9
   467  	IFLA_MASTER          = 0xa
   468  	IFLA_WIRELESS        = 0xb
   469  	IFLA_PROTINFO        = 0xc
   470  	IFLA_TXQLEN          = 0xd
   471  	IFLA_MAP             = 0xe
   472  	IFLA_WEIGHT          = 0xf
   473  	IFLA_OPERSTATE       = 0x10
   474  	IFLA_LINKMODE        = 0x11
   475  	IFLA_LINKINFO        = 0x12
   476  	IFLA_NET_NS_PID      = 0x13
   477  	IFLA_IFALIAS         = 0x14
   478  	IFLA_NUM_VF          = 0x15
   479  	IFLA_VFINFO_LIST     = 0x16
   480  	IFLA_STATS64         = 0x17
   481  	IFLA_VF_PORTS        = 0x18
   482  	IFLA_PORT_SELF       = 0x19
   483  	IFLA_AF_SPEC         = 0x1a
   484  	IFLA_GROUP           = 0x1b
   485  	IFLA_NET_NS_FD       = 0x1c
   486  	IFLA_EXT_MASK        = 0x1d
   487  	IFLA_PROMISCUITY     = 0x1e
   488  	IFLA_NUM_TX_QUEUES   = 0x1f
   489  	IFLA_NUM_RX_QUEUES   = 0x20
   490  	IFLA_CARRIER         = 0x21
   491  	IFLA_PHYS_PORT_ID    = 0x22
   492  	IFLA_CARRIER_CHANGES = 0x23
   493  	IFLA_PHYS_SWITCH_ID  = 0x24
   494  	IFLA_LINK_NETNSID    = 0x25
   495  	IFLA_PHYS_PORT_NAME  = 0x26
   496  	IFLA_PROTO_DOWN      = 0x27
   497  	IFLA_GSO_MAX_SEGS    = 0x28
   498  	IFLA_GSO_MAX_SIZE    = 0x29
   499  	IFLA_PAD             = 0x2a
   500  	IFLA_XDP             = 0x2b
   501  	IFLA_EVENT           = 0x2c
   502  	IFLA_NEW_NETNSID     = 0x2d
   503  	IFLA_IF_NETNSID      = 0x2e
   504  	IFLA_MAX             = 0x33
   505  	RT_SCOPE_UNIVERSE    = 0x0
   506  	RT_SCOPE_SITE        = 0xc8
   507  	RT_SCOPE_LINK        = 0xfd
   508  	RT_SCOPE_HOST        = 0xfe
   509  	RT_SCOPE_NOWHERE     = 0xff
   510  	RT_TABLE_UNSPEC      = 0x0
   511  	RT_TABLE_COMPAT      = 0xfc
   512  	RT_TABLE_DEFAULT     = 0xfd
   513  	RT_TABLE_MAIN        = 0xfe
   514  	RT_TABLE_LOCAL       = 0xff
   515  	RT_TABLE_MAX         = 0xffffffff
   516  	RTA_UNSPEC           = 0x0
   517  	RTA_DST              = 0x1
   518  	RTA_SRC              = 0x2
   519  	RTA_IIF              = 0x3
   520  	RTA_OIF              = 0x4
   521  	RTA_GATEWAY          = 0x5
   522  	RTA_PRIORITY         = 0x6
   523  	RTA_PREFSRC          = 0x7
   524  	RTA_METRICS          = 0x8
   525  	RTA_MULTIPATH        = 0x9
   526  	RTA_FLOW             = 0xb
   527  	RTA_CACHEINFO        = 0xc
   528  	RTA_TABLE            = 0xf
   529  	RTA_MARK             = 0x10
   530  	RTA_MFC_STATS        = 0x11
   531  	RTA_VIA              = 0x12
   532  	RTA_NEWDST           = 0x13
   533  	RTA_PREF             = 0x14
   534  	RTA_ENCAP_TYPE       = 0x15
   535  	RTA_ENCAP            = 0x16
   536  	RTA_EXPIRES          = 0x17
   537  	RTA_PAD              = 0x18
   538  	RTA_UID              = 0x19
   539  	RTA_TTL_PROPAGATE    = 0x1a
   540  	RTA_IP_PROTO         = 0x1b
   541  	RTA_SPORT            = 0x1c
   542  	RTA_DPORT            = 0x1d
   543  	RTN_UNSPEC           = 0x0
   544  	RTN_UNICAST          = 0x1
   545  	RTN_LOCAL            = 0x2
   546  	RTN_BROADCAST        = 0x3
   547  	RTN_ANYCAST          = 0x4
   548  	RTN_MULTICAST        = 0x5
   549  	RTN_BLACKHOLE        = 0x6
   550  	RTN_UNREACHABLE      = 0x7
   551  	RTN_PROHIBIT         = 0x8
   552  	RTN_THROW            = 0x9
   553  	RTN_NAT              = 0xa
   554  	RTN_XRESOLVE         = 0xb
   555  	RTNLGRP_NONE         = 0x0
   556  	RTNLGRP_LINK         = 0x1
   557  	RTNLGRP_NOTIFY       = 0x2
   558  	RTNLGRP_NEIGH        = 0x3
   559  	RTNLGRP_TC           = 0x4
   560  	RTNLGRP_IPV4_IFADDR  = 0x5
   561  	RTNLGRP_IPV4_MROUTE  = 0x6
   562  	RTNLGRP_IPV4_ROUTE   = 0x7
   563  	RTNLGRP_IPV4_RULE    = 0x8
   564  	RTNLGRP_IPV6_IFADDR  = 0x9
   565  	RTNLGRP_IPV6_MROUTE  = 0xa
   566  	RTNLGRP_IPV6_ROUTE   = 0xb
   567  	RTNLGRP_IPV6_IFINFO  = 0xc
   568  	RTNLGRP_IPV6_PREFIX  = 0x12
   569  	RTNLGRP_IPV6_RULE    = 0x13
   570  	RTNLGRP_ND_USEROPT   = 0x14
   571  	SizeofNlMsghdr       = 0x10
   572  	SizeofNlMsgerr       = 0x14
   573  	SizeofRtGenmsg       = 0x1
   574  	SizeofNlAttr         = 0x4
   575  	SizeofRtAttr         = 0x4
   576  	SizeofIfInfomsg      = 0x10
   577  	SizeofIfAddrmsg      = 0x8
   578  	SizeofRtMsg          = 0xc
   579  	SizeofRtNexthop      = 0x8
   580  	SizeofNdUseroptmsg   = 0x10
   581  )
   582  
   583  type NlMsghdr struct {
   584  	Len   uint32
   585  	Type  uint16
   586  	Flags uint16
   587  	Seq   uint32
   588  	Pid   uint32
   589  }
   590  
   591  type NlMsgerr struct {
   592  	Error int32
   593  	Msg   NlMsghdr
   594  }
   595  
   596  type RtGenmsg struct {
   597  	Family uint8
   598  }
   599  
   600  type NlAttr struct {
   601  	Len  uint16
   602  	Type uint16
   603  }
   604  
   605  type RtAttr struct {
   606  	Len  uint16
   607  	Type uint16
   608  }
   609  
   610  type IfInfomsg struct {
   611  	Family uint8
   612  	_      uint8
   613  	Type   uint16
   614  	Index  int32
   615  	Flags  uint32
   616  	Change uint32
   617  }
   618  
   619  type IfAddrmsg struct {
   620  	Family    uint8
   621  	Prefixlen uint8
   622  	Flags     uint8
   623  	Scope     uint8
   624  	Index     uint32
   625  }
   626  
   627  type RtMsg struct {
   628  	Family   uint8
   629  	Dst_len  uint8
   630  	Src_len  uint8
   631  	Tos      uint8
   632  	Table    uint8
   633  	Protocol uint8
   634  	Scope    uint8
   635  	Type     uint8
   636  	Flags    uint32
   637  }
   638  
   639  type RtNexthop struct {
   640  	Len     uint16
   641  	Flags   uint8
   642  	Hops    uint8
   643  	Ifindex int32
   644  }
   645  
   646  type NdUseroptmsg struct {
   647  	Family    uint8
   648  	Pad1      uint8
   649  	Opts_len  uint16
   650  	Ifindex   int32
   651  	Icmp_type uint8
   652  	Icmp_code uint8
   653  	Pad2      uint16
   654  	Pad3      uint32
   655  }
   656  
   657  const (
   658  	SizeofSockFilter = 0x8
   659  	SizeofSockFprog  = 0x10
   660  )
   661  
   662  type SockFilter struct {
   663  	Code uint16
   664  	Jt   uint8
   665  	Jf   uint8
   666  	K    uint32
   667  }
   668  
   669  type SockFprog struct {
   670  	Len    uint16
   671  	Filter *SockFilter
   672  }
   673  
   674  type InotifyEvent struct {
   675  	Wd     int32
   676  	Mask   uint32
   677  	Cookie uint32
   678  	Len    uint32
   679  }
   680  
   681  const SizeofInotifyEvent = 0x10
   682  
   683  type PtraceRegs struct {
   684  	Regs   [31]uint64
   685  	Sp     uint64
   686  	Pc     uint64
   687  	Pstate uint64
   688  }
   689  
   690  type FdSet struct {
   691  	Bits [16]int64
   692  }
   693  
   694  type Sysinfo_t struct {
   695  	Uptime    int64
   696  	Loads     [3]uint64
   697  	Totalram  uint64
   698  	Freeram   uint64
   699  	Sharedram uint64
   700  	Bufferram uint64
   701  	Totalswap uint64
   702  	Freeswap  uint64
   703  	Procs     uint16
   704  	Pad       uint16
   705  	Totalhigh uint64
   706  	Freehigh  uint64
   707  	Unit      uint32
   708  	_         [0]int8
   709  	_         [4]byte
   710  }
   711  
   712  type Utsname struct {
   713  	Sysname    [65]byte
   714  	Nodename   [65]byte
   715  	Release    [65]byte
   716  	Version    [65]byte
   717  	Machine    [65]byte
   718  	Domainname [65]byte
   719  }
   720  
   721  type Ustat_t struct {
   722  	Tfree  int32
   723  	Tinode uint64
   724  	Fname  [6]int8
   725  	Fpack  [6]int8
   726  	_      [4]byte
   727  }
   728  
   729  type EpollEvent struct {
   730  	Events uint32
   731  	PadFd  int32
   732  	Fd     int32
   733  	Pad    int32
   734  }
   735  
   736  const (
   737  	AT_EMPTY_PATH   = 0x1000
   738  	AT_FDCWD        = -0x64
   739  	AT_NO_AUTOMOUNT = 0x800
   740  	AT_REMOVEDIR    = 0x200
   741  
   742  	AT_STATX_SYNC_AS_STAT = 0x0
   743  	AT_STATX_FORCE_SYNC   = 0x2000
   744  	AT_STATX_DONT_SYNC    = 0x4000
   745  
   746  	AT_SYMLINK_FOLLOW   = 0x400
   747  	AT_SYMLINK_NOFOLLOW = 0x100
   748  
   749  	AT_EACCESS = 0x200
   750  )
   751  
   752  type PollFd struct {
   753  	Fd      int32
   754  	Events  int16
   755  	Revents int16
   756  }
   757  
   758  const (
   759  	POLLIN    = 0x1
   760  	POLLPRI   = 0x2
   761  	POLLOUT   = 0x4
   762  	POLLRDHUP = 0x2000
   763  	POLLERR   = 0x8
   764  	POLLHUP   = 0x10
   765  	POLLNVAL  = 0x20
   766  )
   767  
   768  type Sigset_t struct {
   769  	Val [16]uint64
   770  }
   771  
   772  type SignalfdSiginfo struct {
   773  	Signo     uint32
   774  	Errno     int32
   775  	Code      int32
   776  	Pid       uint32
   777  	Uid       uint32
   778  	Fd        int32
   779  	Tid       uint32
   780  	Band      uint32
   781  	Overrun   uint32
   782  	Trapno    uint32
   783  	Status    int32
   784  	Int       int32
   785  	Ptr       uint64
   786  	Utime     uint64
   787  	Stime     uint64
   788  	Addr      uint64
   789  	Addr_lsb  uint16
   790  	_         uint16
   791  	Syscall   int32
   792  	Call_addr uint64
   793  	Arch      uint32
   794  	_         [28]uint8
   795  }
   796  
   797  const PERF_IOC_FLAG_GROUP = 0x1
   798  
   799  type Termios struct {
   800  	Iflag  uint32
   801  	Oflag  uint32
   802  	Cflag  uint32
   803  	Lflag  uint32
   804  	Line   uint8
   805  	Cc     [19]uint8
   806  	Ispeed uint32
   807  	Ospeed uint32
   808  }
   809  
   810  type Winsize struct {
   811  	Row    uint16
   812  	Col    uint16
   813  	Xpixel uint16
   814  	Ypixel uint16
   815  }
   816  
   817  type Taskstats struct {
   818  	Version                   uint16
   819  	Ac_exitcode               uint32
   820  	Ac_flag                   uint8
   821  	Ac_nice                   uint8
   822  	Cpu_count                 uint64
   823  	Cpu_delay_total           uint64
   824  	Blkio_count               uint64
   825  	Blkio_delay_total         uint64
   826  	Swapin_count              uint64
   827  	Swapin_delay_total        uint64
   828  	Cpu_run_real_total        uint64
   829  	Cpu_run_virtual_total     uint64
   830  	Ac_comm                   [32]int8
   831  	Ac_sched                  uint8
   832  	Ac_pad                    [3]uint8
   833  	_                         [4]byte
   834  	Ac_uid                    uint32
   835  	Ac_gid                    uint32
   836  	Ac_pid                    uint32
   837  	Ac_ppid                   uint32
   838  	Ac_btime                  uint32
   839  	Ac_etime                  uint64
   840  	Ac_utime                  uint64
   841  	Ac_stime                  uint64
   842  	Ac_minflt                 uint64
   843  	Ac_majflt                 uint64
   844  	Coremem                   uint64
   845  	Virtmem                   uint64
   846  	Hiwater_rss               uint64
   847  	Hiwater_vm                uint64
   848  	Read_char                 uint64
   849  	Write_char                uint64
   850  	Read_syscalls             uint64
   851  	Write_syscalls            uint64
   852  	Read_bytes                uint64
   853  	Write_bytes               uint64
   854  	Cancelled_write_bytes     uint64
   855  	Nvcsw                     uint64
   856  	Nivcsw                    uint64
   857  	Ac_utimescaled            uint64
   858  	Ac_stimescaled            uint64
   859  	Cpu_scaled_run_real_total uint64
   860  	Freepages_count           uint64
   861  	Freepages_delay_total     uint64
   862  	Thrashing_count           uint64
   863  	Thrashing_delay_total     uint64
   864  }
   865  
   866  const (
   867  	TASKSTATS_CMD_UNSPEC                  = 0x0
   868  	TASKSTATS_CMD_GET                     = 0x1
   869  	TASKSTATS_CMD_NEW                     = 0x2
   870  	TASKSTATS_TYPE_UNSPEC                 = 0x0
   871  	TASKSTATS_TYPE_PID                    = 0x1
   872  	TASKSTATS_TYPE_TGID                   = 0x2
   873  	TASKSTATS_TYPE_STATS                  = 0x3
   874  	TASKSTATS_TYPE_AGGR_PID               = 0x4
   875  	TASKSTATS_TYPE_AGGR_TGID              = 0x5
   876  	TASKSTATS_TYPE_NULL                   = 0x6
   877  	TASKSTATS_CMD_ATTR_UNSPEC             = 0x0
   878  	TASKSTATS_CMD_ATTR_PID                = 0x1
   879  	TASKSTATS_CMD_ATTR_TGID               = 0x2
   880  	TASKSTATS_CMD_ATTR_REGISTER_CPUMASK   = 0x3
   881  	TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK = 0x4
   882  )
   883  
   884  type CGroupStats struct {
   885  	Sleeping        uint64
   886  	Running         uint64
   887  	Stopped         uint64
   888  	Uninterruptible uint64
   889  	Io_wait         uint64
   890  }
   891  
   892  const (
   893  	CGROUPSTATS_CMD_UNSPEC        = 0x3
   894  	CGROUPSTATS_CMD_GET           = 0x4
   895  	CGROUPSTATS_CMD_NEW           = 0x5
   896  	CGROUPSTATS_TYPE_UNSPEC       = 0x0
   897  	CGROUPSTATS_TYPE_CGROUP_STATS = 0x1
   898  	CGROUPSTATS_CMD_ATTR_UNSPEC   = 0x0
   899  	CGROUPSTATS_CMD_ATTR_FD       = 0x1
   900  )
   901  
   902  type Genlmsghdr struct {
   903  	Cmd      uint8
   904  	Version  uint8
   905  	Reserved uint16
   906  }
   907  
   908  const (
   909  	CTRL_CMD_UNSPEC            = 0x0
   910  	CTRL_CMD_NEWFAMILY         = 0x1
   911  	CTRL_CMD_DELFAMILY         = 0x2
   912  	CTRL_CMD_GETFAMILY         = 0x3
   913  	CTRL_CMD_NEWOPS            = 0x4
   914  	CTRL_CMD_DELOPS            = 0x5
   915  	CTRL_CMD_GETOPS            = 0x6
   916  	CTRL_CMD_NEWMCAST_GRP      = 0x7
   917  	CTRL_CMD_DELMCAST_GRP      = 0x8
   918  	CTRL_CMD_GETMCAST_GRP      = 0x9
   919  	CTRL_ATTR_UNSPEC           = 0x0
   920  	CTRL_ATTR_FAMILY_ID        = 0x1
   921  	CTRL_ATTR_FAMILY_NAME      = 0x2
   922  	CTRL_ATTR_VERSION          = 0x3
   923  	CTRL_ATTR_HDRSIZE          = 0x4
   924  	CTRL_ATTR_MAXATTR          = 0x5
   925  	CTRL_ATTR_OPS              = 0x6
   926  	CTRL_ATTR_MCAST_GROUPS     = 0x7
   927  	CTRL_ATTR_OP_UNSPEC        = 0x0
   928  	CTRL_ATTR_OP_ID            = 0x1
   929  	CTRL_ATTR_OP_FLAGS         = 0x2
   930  	CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
   931  	CTRL_ATTR_MCAST_GRP_NAME   = 0x1
   932  	CTRL_ATTR_MCAST_GRP_ID     = 0x2
   933  )
   934  
   935  type cpuMask uint64
   936  
   937  const (
   938  	_CPU_SETSIZE = 0x400
   939  	_NCPUBITS    = 0x40
   940  )
   941  
   942  const (
   943  	BDADDR_BREDR     = 0x0
   944  	BDADDR_LE_PUBLIC = 0x1
   945  	BDADDR_LE_RANDOM = 0x2
   946  )
   947  
   948  type PerfEventAttr struct {
   949  	Type               uint32
   950  	Size               uint32
   951  	Config             uint64
   952  	Sample             uint64
   953  	Sample_type        uint64
   954  	Read_format        uint64
   955  	Bits               uint64
   956  	Wakeup             uint32
   957  	Bp_type            uint32
   958  	Ext1               uint64
   959  	Ext2               uint64
   960  	Branch_sample_type uint64
   961  	Sample_regs_user   uint64
   962  	Sample_stack_user  uint32
   963  	Clockid            int32
   964  	Sample_regs_intr   uint64
   965  	Aux_watermark      uint32
   966  	Sample_max_stack   uint16
   967  	_                  uint16
   968  }
   969  
   970  type PerfEventMmapPage struct {
   971  	Version        uint32
   972  	Compat_version uint32
   973  	Lock           uint32
   974  	Index          uint32
   975  	Offset         int64
   976  	Time_enabled   uint64
   977  	Time_running   uint64
   978  	Capabilities   uint64
   979  	Pmc_width      uint16
   980  	Time_shift     uint16
   981  	Time_mult      uint32
   982  	Time_offset    uint64
   983  	Time_zero      uint64
   984  	Size           uint32
   985  	_              [948]uint8
   986  	Data_head      uint64
   987  	Data_tail      uint64
   988  	Data_offset    uint64
   989  	Data_size      uint64
   990  	Aux_head       uint64
   991  	Aux_tail       uint64
   992  	Aux_offset     uint64
   993  	Aux_size       uint64
   994  }
   995  
   996  const (
   997  	PerfBitDisabled               uint64 = CBitFieldMaskBit0
   998  	PerfBitInherit                       = CBitFieldMaskBit1
   999  	PerfBitPinned                        = CBitFieldMaskBit2
  1000  	PerfBitExclusive                     = CBitFieldMaskBit3
  1001  	PerfBitExcludeUser                   = CBitFieldMaskBit4
  1002  	PerfBitExcludeKernel                 = CBitFieldMaskBit5
  1003  	PerfBitExcludeHv                     = CBitFieldMaskBit6
  1004  	PerfBitExcludeIdle                   = CBitFieldMaskBit7
  1005  	PerfBitMmap                          = CBitFieldMaskBit8
  1006  	PerfBitComm                          = CBitFieldMaskBit9
  1007  	PerfBitFreq                          = CBitFieldMaskBit10
  1008  	PerfBitInheritStat                   = CBitFieldMaskBit11
  1009  	PerfBitEnableOnExec                  = CBitFieldMaskBit12
  1010  	PerfBitTask                          = CBitFieldMaskBit13
  1011  	PerfBitWatermark                     = CBitFieldMaskBit14
  1012  	PerfBitPreciseIPBit1                 = CBitFieldMaskBit15
  1013  	PerfBitPreciseIPBit2                 = CBitFieldMaskBit16
  1014  	PerfBitMmapData                      = CBitFieldMaskBit17
  1015  	PerfBitSampleIDAll                   = CBitFieldMaskBit18
  1016  	PerfBitExcludeHost                   = CBitFieldMaskBit19
  1017  	PerfBitExcludeGuest                  = CBitFieldMaskBit20
  1018  	PerfBitExcludeCallchainKernel        = CBitFieldMaskBit21
  1019  	PerfBitExcludeCallchainUser          = CBitFieldMaskBit22
  1020  	PerfBitMmap2                         = CBitFieldMaskBit23
  1021  	PerfBitCommExec                      = CBitFieldMaskBit24
  1022  	PerfBitUseClockID                    = CBitFieldMaskBit25
  1023  	PerfBitContextSwitch                 = CBitFieldMaskBit26
  1024  )
  1025  
  1026  const (
  1027  	PERF_TYPE_HARDWARE   = 0x0
  1028  	PERF_TYPE_SOFTWARE   = 0x1
  1029  	PERF_TYPE_TRACEPOINT = 0x2
  1030  	PERF_TYPE_HW_CACHE   = 0x3
  1031  	PERF_TYPE_RAW        = 0x4
  1032  	PERF_TYPE_BREAKPOINT = 0x5
  1033  
  1034  	PERF_COUNT_HW_CPU_CYCLES              = 0x0
  1035  	PERF_COUNT_HW_INSTRUCTIONS            = 0x1
  1036  	PERF_COUNT_HW_CACHE_REFERENCES        = 0x2
  1037  	PERF_COUNT_HW_CACHE_MISSES            = 0x3
  1038  	PERF_COUNT_HW_BRANCH_INSTRUCTIONS     = 0x4
  1039  	PERF_COUNT_HW_BRANCH_MISSES           = 0x5
  1040  	PERF_COUNT_HW_BUS_CYCLES              = 0x6
  1041  	PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 0x7
  1042  	PERF_COUNT_HW_STALLED_CYCLES_BACKEND  = 0x8
  1043  	PERF_COUNT_HW_REF_CPU_CYCLES          = 0x9
  1044  
  1045  	PERF_COUNT_HW_CACHE_L1D  = 0x0
  1046  	PERF_COUNT_HW_CACHE_L1I  = 0x1
  1047  	PERF_COUNT_HW_CACHE_LL   = 0x2
  1048  	PERF_COUNT_HW_CACHE_DTLB = 0x3
  1049  	PERF_COUNT_HW_CACHE_ITLB = 0x4
  1050  	PERF_COUNT_HW_CACHE_BPU  = 0x5
  1051  	PERF_COUNT_HW_CACHE_NODE = 0x6
  1052  
  1053  	PERF_COUNT_HW_CACHE_OP_READ     = 0x0
  1054  	PERF_COUNT_HW_CACHE_OP_WRITE    = 0x1
  1055  	PERF_COUNT_HW_CACHE_OP_PREFETCH = 0x2
  1056  
  1057  	PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0x0
  1058  	PERF_COUNT_HW_CACHE_RESULT_MISS   = 0x1
  1059  
  1060  	PERF_COUNT_SW_CPU_CLOCK        = 0x0
  1061  	PERF_COUNT_SW_TASK_CLOCK       = 0x1
  1062  	PERF_COUNT_SW_PAGE_FAULTS      = 0x2
  1063  	PERF_COUNT_SW_CONTEXT_SWITCHES = 0x3
  1064  	PERF_COUNT_SW_CPU_MIGRATIONS   = 0x4
  1065  	PERF_COUNT_SW_PAGE_FAULTS_MIN  = 0x5
  1066  	PERF_COUNT_SW_PAGE_FAULTS_MAJ  = 0x6
  1067  	PERF_COUNT_SW_ALIGNMENT_FAULTS = 0x7
  1068  	PERF_COUNT_SW_EMULATION_FAULTS = 0x8
  1069  	PERF_COUNT_SW_DUMMY            = 0x9
  1070  	PERF_COUNT_SW_BPF_OUTPUT       = 0xa
  1071  
  1072  	PERF_SAMPLE_IP           = 0x1
  1073  	PERF_SAMPLE_TID          = 0x2
  1074  	PERF_SAMPLE_TIME         = 0x4
  1075  	PERF_SAMPLE_ADDR         = 0x8
  1076  	PERF_SAMPLE_READ         = 0x10
  1077  	PERF_SAMPLE_CALLCHAIN    = 0x20
  1078  	PERF_SAMPLE_ID           = 0x40
  1079  	PERF_SAMPLE_CPU          = 0x80
  1080  	PERF_SAMPLE_PERIOD       = 0x100
  1081  	PERF_SAMPLE_STREAM_ID    = 0x200
  1082  	PERF_SAMPLE_RAW          = 0x400
  1083  	PERF_SAMPLE_BRANCH_STACK = 0x800
  1084  
  1085  	PERF_SAMPLE_BRANCH_USER       = 0x1
  1086  	PERF_SAMPLE_BRANCH_KERNEL     = 0x2
  1087  	PERF_SAMPLE_BRANCH_HV         = 0x4
  1088  	PERF_SAMPLE_BRANCH_ANY        = 0x8
  1089  	PERF_SAMPLE_BRANCH_ANY_CALL   = 0x10
  1090  	PERF_SAMPLE_BRANCH_ANY_RETURN = 0x20
  1091  	PERF_SAMPLE_BRANCH_IND_CALL   = 0x40
  1092  	PERF_SAMPLE_BRANCH_ABORT_TX   = 0x80
  1093  	PERF_SAMPLE_BRANCH_IN_TX      = 0x100
  1094  	PERF_SAMPLE_BRANCH_NO_TX      = 0x200
  1095  	PERF_SAMPLE_BRANCH_COND       = 0x400
  1096  	PERF_SAMPLE_BRANCH_CALL_STACK = 0x800
  1097  	PERF_SAMPLE_BRANCH_IND_JUMP   = 0x1000
  1098  	PERF_SAMPLE_BRANCH_CALL       = 0x2000
  1099  	PERF_SAMPLE_BRANCH_NO_FLAGS   = 0x4000
  1100  	PERF_SAMPLE_BRANCH_NO_CYCLES  = 0x8000
  1101  	PERF_SAMPLE_BRANCH_TYPE_SAVE  = 0x10000
  1102  
  1103  	PERF_FORMAT_TOTAL_TIME_ENABLED = 0x1
  1104  	PERF_FORMAT_TOTAL_TIME_RUNNING = 0x2
  1105  	PERF_FORMAT_ID                 = 0x4
  1106  	PERF_FORMAT_GROUP              = 0x8
  1107  
  1108  	PERF_RECORD_MMAP            = 0x1
  1109  	PERF_RECORD_LOST            = 0x2
  1110  	PERF_RECORD_COMM            = 0x3
  1111  	PERF_RECORD_EXIT            = 0x4
  1112  	PERF_RECORD_THROTTLE        = 0x5
  1113  	PERF_RECORD_UNTHROTTLE      = 0x6
  1114  	PERF_RECORD_FORK            = 0x7
  1115  	PERF_RECORD_READ            = 0x8
  1116  	PERF_RECORD_SAMPLE          = 0x9
  1117  	PERF_RECORD_MMAP2           = 0xa
  1118  	PERF_RECORD_AUX             = 0xb
  1119  	PERF_RECORD_ITRACE_START    = 0xc
  1120  	PERF_RECORD_LOST_SAMPLES    = 0xd
  1121  	PERF_RECORD_SWITCH          = 0xe
  1122  	PERF_RECORD_SWITCH_CPU_WIDE = 0xf
  1123  	PERF_RECORD_NAMESPACES      = 0x10
  1124  
  1125  	PERF_CONTEXT_HV     = -0x20
  1126  	PERF_CONTEXT_KERNEL = -0x80
  1127  	PERF_CONTEXT_USER   = -0x200
  1128  
  1129  	PERF_CONTEXT_GUEST        = -0x800
  1130  	PERF_CONTEXT_GUEST_KERNEL = -0x880
  1131  	PERF_CONTEXT_GUEST_USER   = -0xa00
  1132  
  1133  	PERF_FLAG_FD_NO_GROUP = 0x1
  1134  	PERF_FLAG_FD_OUTPUT   = 0x2
  1135  	PERF_FLAG_PID_CGROUP  = 0x4
  1136  	PERF_FLAG_FD_CLOEXEC  = 0x8
  1137  )
  1138  
  1139  const (
  1140  	CBitFieldMaskBit0  = 0x1
  1141  	CBitFieldMaskBit1  = 0x2
  1142  	CBitFieldMaskBit2  = 0x4
  1143  	CBitFieldMaskBit3  = 0x8
  1144  	CBitFieldMaskBit4  = 0x10
  1145  	CBitFieldMaskBit5  = 0x20
  1146  	CBitFieldMaskBit6  = 0x40
  1147  	CBitFieldMaskBit7  = 0x80
  1148  	CBitFieldMaskBit8  = 0x100
  1149  	CBitFieldMaskBit9  = 0x200
  1150  	CBitFieldMaskBit10 = 0x400
  1151  	CBitFieldMaskBit11 = 0x800
  1152  	CBitFieldMaskBit12 = 0x1000
  1153  	CBitFieldMaskBit13 = 0x2000
  1154  	CBitFieldMaskBit14 = 0x4000
  1155  	CBitFieldMaskBit15 = 0x8000
  1156  	CBitFieldMaskBit16 = 0x10000
  1157  	CBitFieldMaskBit17 = 0x20000
  1158  	CBitFieldMaskBit18 = 0x40000
  1159  	CBitFieldMaskBit19 = 0x80000
  1160  	CBitFieldMaskBit20 = 0x100000
  1161  	CBitFieldMaskBit21 = 0x200000
  1162  	CBitFieldMaskBit22 = 0x400000
  1163  	CBitFieldMaskBit23 = 0x800000
  1164  	CBitFieldMaskBit24 = 0x1000000
  1165  	CBitFieldMaskBit25 = 0x2000000
  1166  	CBitFieldMaskBit26 = 0x4000000
  1167  	CBitFieldMaskBit27 = 0x8000000
  1168  	CBitFieldMaskBit28 = 0x10000000
  1169  	CBitFieldMaskBit29 = 0x20000000
  1170  	CBitFieldMaskBit30 = 0x40000000
  1171  	CBitFieldMaskBit31 = 0x80000000
  1172  	CBitFieldMaskBit32 = 0x100000000
  1173  	CBitFieldMaskBit33 = 0x200000000
  1174  	CBitFieldMaskBit34 = 0x400000000
  1175  	CBitFieldMaskBit35 = 0x800000000
  1176  	CBitFieldMaskBit36 = 0x1000000000
  1177  	CBitFieldMaskBit37 = 0x2000000000
  1178  	CBitFieldMaskBit38 = 0x4000000000
  1179  	CBitFieldMaskBit39 = 0x8000000000
  1180  	CBitFieldMaskBit40 = 0x10000000000
  1181  	CBitFieldMaskBit41 = 0x20000000000
  1182  	CBitFieldMaskBit42 = 0x40000000000
  1183  	CBitFieldMaskBit43 = 0x80000000000
  1184  	CBitFieldMaskBit44 = 0x100000000000
  1185  	CBitFieldMaskBit45 = 0x200000000000
  1186  	CBitFieldMaskBit46 = 0x400000000000
  1187  	CBitFieldMaskBit47 = 0x800000000000
  1188  	CBitFieldMaskBit48 = 0x1000000000000
  1189  	CBitFieldMaskBit49 = 0x2000000000000
  1190  	CBitFieldMaskBit50 = 0x4000000000000
  1191  	CBitFieldMaskBit51 = 0x8000000000000
  1192  	CBitFieldMaskBit52 = 0x10000000000000
  1193  	CBitFieldMaskBit53 = 0x20000000000000
  1194  	CBitFieldMaskBit54 = 0x40000000000000
  1195  	CBitFieldMaskBit55 = 0x80000000000000
  1196  	CBitFieldMaskBit56 = 0x100000000000000
  1197  	CBitFieldMaskBit57 = 0x200000000000000
  1198  	CBitFieldMaskBit58 = 0x400000000000000
  1199  	CBitFieldMaskBit59 = 0x800000000000000
  1200  	CBitFieldMaskBit60 = 0x1000000000000000
  1201  	CBitFieldMaskBit61 = 0x2000000000000000
  1202  	CBitFieldMaskBit62 = 0x4000000000000000
  1203  	CBitFieldMaskBit63 = 0x8000000000000000
  1204  )
  1205  
  1206  type SockaddrStorage struct {
  1207  	Family uint16
  1208  	_      [118]int8
  1209  	_      uint64
  1210  }
  1211  
  1212  type TCPMD5Sig struct {
  1213  	Addr      SockaddrStorage
  1214  	Flags     uint8
  1215  	Prefixlen uint8
  1216  	Keylen    uint16
  1217  	_         uint32
  1218  	Key       [80]uint8
  1219  }
  1220  
  1221  type HDDriveCmdHdr struct {
  1222  	Command uint8
  1223  	Number  uint8
  1224  	Feature uint8
  1225  	Count   uint8
  1226  }
  1227  
  1228  type HDGeometry struct {
  1229  	Heads     uint8
  1230  	Sectors   uint8
  1231  	Cylinders uint16
  1232  	Start     uint64
  1233  }
  1234  
  1235  type HDDriveID struct {
  1236  	Config         uint16
  1237  	Cyls           uint16
  1238  	Reserved2      uint16
  1239  	Heads          uint16
  1240  	Track_bytes    uint16
  1241  	Sector_bytes   uint16
  1242  	Sectors        uint16
  1243  	Vendor0        uint16
  1244  	Vendor1        uint16
  1245  	Vendor2        uint16
  1246  	Serial_no      [20]uint8
  1247  	Buf_type       uint16
  1248  	Buf_size       uint16
  1249  	Ecc_bytes      uint16
  1250  	Fw_rev         [8]uint8
  1251  	Model          [40]uint8
  1252  	Max_multsect   uint8
  1253  	Vendor3        uint8
  1254  	Dword_io       uint16
  1255  	Vendor4        uint8
  1256  	Capability     uint8
  1257  	Reserved50     uint16
  1258  	Vendor5        uint8
  1259  	TPIO           uint8
  1260  	Vendor6        uint8
  1261  	TDMA           uint8
  1262  	Field_valid    uint16
  1263  	Cur_cyls       uint16
  1264  	Cur_heads      uint16
  1265  	Cur_sectors    uint16
  1266  	Cur_capacity0  uint16
  1267  	Cur_capacity1  uint16
  1268  	Multsect       uint8
  1269  	Multsect_valid uint8
  1270  	Lba_capacity   uint32
  1271  	Dma_1word      uint16
  1272  	Dma_mword      uint16
  1273  	Eide_pio_modes uint16
  1274  	Eide_dma_min   uint16
  1275  	Eide_dma_time  uint16
  1276  	Eide_pio       uint16
  1277  	Eide_pio_iordy uint16
  1278  	Words69_70     [2]uint16
  1279  	Words71_74     [4]uint16
  1280  	Queue_depth    uint16
  1281  	Words76_79     [4]uint16
  1282  	Major_rev_num  uint16
  1283  	Minor_rev_num  uint16
  1284  	Command_set_1  uint16
  1285  	Command_set_2  uint16
  1286  	Cfsse          uint16
  1287  	Cfs_enable_1   uint16
  1288  	Cfs_enable_2   uint16
  1289  	Csf_default    uint16
  1290  	Dma_ultra      uint16
  1291  	Trseuc         uint16
  1292  	TrsEuc         uint16
  1293  	CurAPMvalues   uint16
  1294  	Mprc           uint16
  1295  	Hw_config      uint16
  1296  	Acoustic       uint16
  1297  	Msrqs          uint16
  1298  	Sxfert         uint16
  1299  	Sal            uint16
  1300  	Spg            uint32
  1301  	Lba_capacity_2 uint64
  1302  	Words104_125   [22]uint16
  1303  	Last_lun       uint16
  1304  	Word127        uint16
  1305  	Dlf            uint16
  1306  	Csfo           uint16
  1307  	Words130_155   [26]uint16
  1308  	Word156        uint16
  1309  	Words157_159   [3]uint16
  1310  	Cfa_power      uint16
  1311  	Words161_175   [15]uint16
  1312  	Words176_205   [30]uint16
  1313  	Words206_254   [49]uint16
  1314  	Integrity_word uint16
  1315  }
  1316  
  1317  type Statfs_t struct {
  1318  	Type    int64
  1319  	Bsize   int64
  1320  	Blocks  uint64
  1321  	Bfree   uint64
  1322  	Bavail  uint64
  1323  	Files   uint64
  1324  	Ffree   uint64
  1325  	Fsid    Fsid
  1326  	Namelen int64
  1327  	Frsize  int64
  1328  	Flags   int64
  1329  	Spare   [4]int64
  1330  }
  1331  
  1332  const (
  1333  	ST_MANDLOCK    = 0x40
  1334  	ST_NOATIME     = 0x400
  1335  	ST_NODEV       = 0x4
  1336  	ST_NODIRATIME  = 0x800
  1337  	ST_NOEXEC      = 0x8
  1338  	ST_NOSUID      = 0x2
  1339  	ST_RDONLY      = 0x1
  1340  	ST_RELATIME    = 0x1000
  1341  	ST_SYNCHRONOUS = 0x10
  1342  )
  1343  
  1344  type TpacketHdr struct {
  1345  	Status  uint64
  1346  	Len     uint32
  1347  	Snaplen uint32
  1348  	Mac     uint16
  1349  	Net     uint16
  1350  	Sec     uint32
  1351  	Usec    uint32
  1352  	_       [4]byte
  1353  }
  1354  
  1355  type Tpacket2Hdr struct {
  1356  	Status    uint32
  1357  	Len       uint32
  1358  	Snaplen   uint32
  1359  	Mac       uint16
  1360  	Net       uint16
  1361  	Sec       uint32
  1362  	Nsec      uint32
  1363  	Vlan_tci  uint16
  1364  	Vlan_tpid uint16
  1365  	_         [4]uint8
  1366  }
  1367  
  1368  type Tpacket3Hdr struct {
  1369  	Next_offset uint32
  1370  	Sec         uint32
  1371  	Nsec        uint32
  1372  	Snaplen     uint32
  1373  	Len         uint32
  1374  	Status      uint32
  1375  	Mac         uint16
  1376  	Net         uint16
  1377  	Hv1         TpacketHdrVariant1
  1378  	_           [8]uint8
  1379  }
  1380  
  1381  type TpacketHdrVariant1 struct {
  1382  	Rxhash    uint32
  1383  	Vlan_tci  uint32
  1384  	Vlan_tpid uint16
  1385  	_         uint16
  1386  }
  1387  
  1388  type TpacketBlockDesc struct {
  1389  	Version uint32
  1390  	To_priv uint32
  1391  	Hdr     [40]byte
  1392  }
  1393  
  1394  type TpacketReq struct {
  1395  	Block_size uint32
  1396  	Block_nr   uint32
  1397  	Frame_size uint32
  1398  	Frame_nr   uint32
  1399  }
  1400  
  1401  type TpacketReq3 struct {
  1402  	Block_size       uint32
  1403  	Block_nr         uint32
  1404  	Frame_size       uint32
  1405  	Frame_nr         uint32
  1406  	Retire_blk_tov   uint32
  1407  	Sizeof_priv      uint32
  1408  	Feature_req_word uint32
  1409  }
  1410  
  1411  type TpacketStats struct {
  1412  	Packets uint32
  1413  	Drops   uint32
  1414  }
  1415  
  1416  type TpacketStatsV3 struct {
  1417  	Packets      uint32
  1418  	Drops        uint32
  1419  	Freeze_q_cnt uint32
  1420  }
  1421  
  1422  type TpacketAuxdata struct {
  1423  	Status    uint32
  1424  	Len       uint32
  1425  	Snaplen   uint32
  1426  	Mac       uint16
  1427  	Net       uint16
  1428  	Vlan_tci  uint16
  1429  	Vlan_tpid uint16
  1430  }
  1431  
  1432  const (
  1433  	TPACKET_V1 = 0x0
  1434  	TPACKET_V2 = 0x1
  1435  	TPACKET_V3 = 0x2
  1436  )
  1437  
  1438  const (
  1439  	SizeofTpacketHdr  = 0x20
  1440  	SizeofTpacket2Hdr = 0x20
  1441  	SizeofTpacket3Hdr = 0x30
  1442  
  1443  	SizeofTpacketStats   = 0x8
  1444  	SizeofTpacketStatsV3 = 0xc
  1445  )
  1446  
  1447  const (
  1448  	NF_INET_PRE_ROUTING  = 0x0
  1449  	NF_INET_LOCAL_IN     = 0x1
  1450  	NF_INET_FORWARD      = 0x2
  1451  	NF_INET_LOCAL_OUT    = 0x3
  1452  	NF_INET_POST_ROUTING = 0x4
  1453  	NF_INET_NUMHOOKS     = 0x5
  1454  )
  1455  
  1456  const (
  1457  	NF_NETDEV_INGRESS  = 0x0
  1458  	NF_NETDEV_NUMHOOKS = 0x1
  1459  )
  1460  
  1461  const (
  1462  	NFPROTO_UNSPEC   = 0x0
  1463  	NFPROTO_INET     = 0x1
  1464  	NFPROTO_IPV4     = 0x2
  1465  	NFPROTO_ARP      = 0x3
  1466  	NFPROTO_NETDEV   = 0x5
  1467  	NFPROTO_BRIDGE   = 0x7
  1468  	NFPROTO_IPV6     = 0xa
  1469  	NFPROTO_DECNET   = 0xc
  1470  	NFPROTO_NUMPROTO = 0xd
  1471  )
  1472  
  1473  type Nfgenmsg struct {
  1474  	Nfgen_family uint8
  1475  	Version      uint8
  1476  	Res_id       uint16
  1477  }
  1478  
  1479  const (
  1480  	NFNL_BATCH_UNSPEC = 0x0
  1481  	NFNL_BATCH_GENID  = 0x1
  1482  )
  1483  
  1484  const (
  1485  	NFT_REG_VERDICT                   = 0x0
  1486  	NFT_REG_1                         = 0x1
  1487  	NFT_REG_2                         = 0x2
  1488  	NFT_REG_3                         = 0x3
  1489  	NFT_REG_4                         = 0x4
  1490  	NFT_REG32_00                      = 0x8
  1491  	NFT_REG32_01                      = 0x9
  1492  	NFT_REG32_02                      = 0xa
  1493  	NFT_REG32_03                      = 0xb
  1494  	NFT_REG32_04                      = 0xc
  1495  	NFT_REG32_05                      = 0xd
  1496  	NFT_REG32_06                      = 0xe
  1497  	NFT_REG32_07                      = 0xf
  1498  	NFT_REG32_08                      = 0x10
  1499  	NFT_REG32_09                      = 0x11
  1500  	NFT_REG32_10                      = 0x12
  1501  	NFT_REG32_11                      = 0x13
  1502  	NFT_REG32_12                      = 0x14
  1503  	NFT_REG32_13                      = 0x15
  1504  	NFT_REG32_14                      = 0x16
  1505  	NFT_REG32_15                      = 0x17
  1506  	NFT_CONTINUE                      = -0x1
  1507  	NFT_BREAK                         = -0x2
  1508  	NFT_JUMP                          = -0x3
  1509  	NFT_GOTO                          = -0x4
  1510  	NFT_RETURN                        = -0x5
  1511  	NFT_MSG_NEWTABLE                  = 0x0
  1512  	NFT_MSG_GETTABLE                  = 0x1
  1513  	NFT_MSG_DELTABLE                  = 0x2
  1514  	NFT_MSG_NEWCHAIN                  = 0x3
  1515  	NFT_MSG_GETCHAIN                  = 0x4
  1516  	NFT_MSG_DELCHAIN                  = 0x5
  1517  	NFT_MSG_NEWRULE                   = 0x6
  1518  	NFT_MSG_GETRULE                   = 0x7
  1519  	NFT_MSG_DELRULE                   = 0x8
  1520  	NFT_MSG_NEWSET                    = 0x9
  1521  	NFT_MSG_GETSET                    = 0xa
  1522  	NFT_MSG_DELSET                    = 0xb
  1523  	NFT_MSG_NEWSETELEM                = 0xc
  1524  	NFT_MSG_GETSETELEM                = 0xd
  1525  	NFT_MSG_DELSETELEM                = 0xe
  1526  	NFT_MSG_NEWGEN                    = 0xf
  1527  	NFT_MSG_GETGEN                    = 0x10
  1528  	NFT_MSG_TRACE                     = 0x11
  1529  	NFT_MSG_NEWOBJ                    = 0x12
  1530  	NFT_MSG_GETOBJ                    = 0x13
  1531  	NFT_MSG_DELOBJ                    = 0x14
  1532  	NFT_MSG_GETOBJ_RESET              = 0x15
  1533  	NFT_MSG_MAX                       = 0x19
  1534  	NFTA_LIST_UNPEC                   = 0x0
  1535  	NFTA_LIST_ELEM                    = 0x1
  1536  	NFTA_HOOK_UNSPEC                  = 0x0
  1537  	NFTA_HOOK_HOOKNUM                 = 0x1
  1538  	NFTA_HOOK_PRIORITY                = 0x2
  1539  	NFTA_HOOK_DEV                     = 0x3
  1540  	NFT_TABLE_F_DORMANT               = 0x1
  1541  	NFTA_TABLE_UNSPEC                 = 0x0
  1542  	NFTA_TABLE_NAME                   = 0x1
  1543  	NFTA_TABLE_FLAGS                  = 0x2
  1544  	NFTA_TABLE_USE                    = 0x3
  1545  	NFTA_CHAIN_UNSPEC                 = 0x0
  1546  	NFTA_CHAIN_TABLE                  = 0x1
  1547  	NFTA_CHAIN_HANDLE                 = 0x2
  1548  	NFTA_CHAIN_NAME                   = 0x3
  1549  	NFTA_CHAIN_HOOK                   = 0x4
  1550  	NFTA_CHAIN_POLICY                 = 0x5
  1551  	NFTA_CHAIN_USE                    = 0x6
  1552  	NFTA_CHAIN_TYPE                   = 0x7
  1553  	NFTA_CHAIN_COUNTERS               = 0x8
  1554  	NFTA_CHAIN_PAD                    = 0x9
  1555  	NFTA_RULE_UNSPEC                  = 0x0
  1556  	NFTA_RULE_TABLE                   = 0x1
  1557  	NFTA_RULE_CHAIN                   = 0x2
  1558  	NFTA_RULE_HANDLE                  = 0x3
  1559  	NFTA_RULE_EXPRESSIONS             = 0x4
  1560  	NFTA_RULE_COMPAT                  = 0x5
  1561  	NFTA_RULE_POSITION                = 0x6
  1562  	NFTA_RULE_USERDATA                = 0x7
  1563  	NFTA_RULE_PAD                     = 0x8
  1564  	NFTA_RULE_ID                      = 0x9
  1565  	NFT_RULE_COMPAT_F_INV             = 0x2
  1566  	NFT_RULE_COMPAT_F_MASK            = 0x2
  1567  	NFTA_RULE_COMPAT_UNSPEC           = 0x0
  1568  	NFTA_RULE_COMPAT_PROTO            = 0x1
  1569  	NFTA_RULE_COMPAT_FLAGS            = 0x2
  1570  	NFT_SET_ANONYMOUS                 = 0x1
  1571  	NFT_SET_CONSTANT                  = 0x2
  1572  	NFT_SET_INTERVAL                  = 0x4
  1573  	NFT_SET_MAP                       = 0x8
  1574  	NFT_SET_TIMEOUT                   = 0x10
  1575  	NFT_SET_EVAL                      = 0x20
  1576  	NFT_SET_OBJECT                    = 0x40
  1577  	NFT_SET_POL_PERFORMANCE           = 0x0
  1578  	NFT_SET_POL_MEMORY                = 0x1
  1579  	NFTA_SET_DESC_UNSPEC              = 0x0
  1580  	NFTA_SET_DESC_SIZE                = 0x1
  1581  	NFTA_SET_UNSPEC                   = 0x0
  1582  	NFTA_SET_TABLE                    = 0x1
  1583  	NFTA_SET_NAME                     = 0x2
  1584  	NFTA_SET_FLAGS                    = 0x3
  1585  	NFTA_SET_KEY_TYPE                 = 0x4
  1586  	NFTA_SET_KEY_LEN                  = 0x5
  1587  	NFTA_SET_DATA_TYPE                = 0x6
  1588  	NFTA_SET_DATA_LEN                 = 0x7
  1589  	NFTA_SET_POLICY                   = 0x8
  1590  	NFTA_SET_DESC                     = 0x9
  1591  	NFTA_SET_ID                       = 0xa
  1592  	NFTA_SET_TIMEOUT                  = 0xb
  1593  	NFTA_SET_GC_INTERVAL              = 0xc
  1594  	NFTA_SET_USERDATA                 = 0xd
  1595  	NFTA_SET_PAD                      = 0xe
  1596  	NFTA_SET_OBJ_TYPE                 = 0xf
  1597  	NFT_SET_ELEM_INTERVAL_END         = 0x1
  1598  	NFTA_SET_ELEM_UNSPEC              = 0x0
  1599  	NFTA_SET_ELEM_KEY                 = 0x1
  1600  	NFTA_SET_ELEM_DATA                = 0x2
  1601  	NFTA_SET_ELEM_FLAGS               = 0x3
  1602  	NFTA_SET_ELEM_TIMEOUT             = 0x4
  1603  	NFTA_SET_ELEM_EXPIRATION          = 0x5
  1604  	NFTA_SET_ELEM_USERDATA            = 0x6
  1605  	NFTA_SET_ELEM_EXPR                = 0x7
  1606  	NFTA_SET_ELEM_PAD                 = 0x8
  1607  	NFTA_SET_ELEM_OBJREF              = 0x9
  1608  	NFTA_SET_ELEM_LIST_UNSPEC         = 0x0
  1609  	NFTA_SET_ELEM_LIST_TABLE          = 0x1
  1610  	NFTA_SET_ELEM_LIST_SET            = 0x2
  1611  	NFTA_SET_ELEM_LIST_ELEMENTS       = 0x3
  1612  	NFTA_SET_ELEM_LIST_SET_ID         = 0x4
  1613  	NFT_DATA_VALUE                    = 0x0
  1614  	NFT_DATA_VERDICT                  = 0xffffff00
  1615  	NFTA_DATA_UNSPEC                  = 0x0
  1616  	NFTA_DATA_VALUE                   = 0x1
  1617  	NFTA_DATA_VERDICT                 = 0x2
  1618  	NFTA_VERDICT_UNSPEC               = 0x0
  1619  	NFTA_VERDICT_CODE                 = 0x1
  1620  	NFTA_VERDICT_CHAIN                = 0x2
  1621  	NFTA_EXPR_UNSPEC                  = 0x0
  1622  	NFTA_EXPR_NAME                    = 0x1
  1623  	NFTA_EXPR_DATA                    = 0x2
  1624  	NFTA_IMMEDIATE_UNSPEC             = 0x0
  1625  	NFTA_IMMEDIATE_DREG               = 0x1
  1626  	NFTA_IMMEDIATE_DATA               = 0x2
  1627  	NFTA_BITWISE_UNSPEC               = 0x0
  1628  	NFTA_BITWISE_SREG                 = 0x1
  1629  	NFTA_BITWISE_DREG                 = 0x2
  1630  	NFTA_BITWISE_LEN                  = 0x3
  1631  	NFTA_BITWISE_MASK                 = 0x4
  1632  	NFTA_BITWISE_XOR                  = 0x5
  1633  	NFT_BYTEORDER_NTOH                = 0x0
  1634  	NFT_BYTEORDER_HTON                = 0x1
  1635  	NFTA_BYTEORDER_UNSPEC             = 0x0
  1636  	NFTA_BYTEORDER_SREG               = 0x1
  1637  	NFTA_BYTEORDER_DREG               = 0x2
  1638  	NFTA_BYTEORDER_OP                 = 0x3
  1639  	NFTA_BYTEORDER_LEN                = 0x4
  1640  	NFTA_BYTEORDER_SIZE               = 0x5
  1641  	NFT_CMP_EQ                        = 0x0
  1642  	NFT_CMP_NEQ                       = 0x1
  1643  	NFT_CMP_LT                        = 0x2
  1644  	NFT_CMP_LTE                       = 0x3
  1645  	NFT_CMP_GT                        = 0x4
  1646  	NFT_CMP_GTE                       = 0x5
  1647  	NFTA_CMP_UNSPEC                   = 0x0
  1648  	NFTA_CMP_SREG                     = 0x1
  1649  	NFTA_CMP_OP                       = 0x2
  1650  	NFTA_CMP_DATA                     = 0x3
  1651  	NFT_RANGE_EQ                      = 0x0
  1652  	NFT_RANGE_NEQ                     = 0x1
  1653  	NFTA_RANGE_UNSPEC                 = 0x0
  1654  	NFTA_RANGE_SREG                   = 0x1
  1655  	NFTA_RANGE_OP                     = 0x2
  1656  	NFTA_RANGE_FROM_DATA              = 0x3
  1657  	NFTA_RANGE_TO_DATA                = 0x4
  1658  	NFT_LOOKUP_F_INV                  = 0x1
  1659  	NFTA_LOOKUP_UNSPEC                = 0x0
  1660  	NFTA_LOOKUP_SET                   = 0x1
  1661  	NFTA_LOOKUP_SREG                  = 0x2
  1662  	NFTA_LOOKUP_DREG                  = 0x3
  1663  	NFTA_LOOKUP_SET_ID                = 0x4
  1664  	NFTA_LOOKUP_FLAGS                 = 0x5
  1665  	NFT_DYNSET_OP_ADD                 = 0x0
  1666  	NFT_DYNSET_OP_UPDATE              = 0x1
  1667  	NFT_DYNSET_F_INV                  = 0x1
  1668  	NFTA_DYNSET_UNSPEC                = 0x0
  1669  	NFTA_DYNSET_SET_NAME              = 0x1
  1670  	NFTA_DYNSET_SET_ID                = 0x2
  1671  	NFTA_DYNSET_OP                    = 0x3
  1672  	NFTA_DYNSET_SREG_KEY              = 0x4
  1673  	NFTA_DYNSET_SREG_DATA             = 0x5
  1674  	NFTA_DYNSET_TIMEOUT               = 0x6
  1675  	NFTA_DYNSET_EXPR                  = 0x7
  1676  	NFTA_DYNSET_PAD                   = 0x8
  1677  	NFTA_DYNSET_FLAGS                 = 0x9
  1678  	NFT_PAYLOAD_LL_HEADER             = 0x0
  1679  	NFT_PAYLOAD_NETWORK_HEADER        = 0x1
  1680  	NFT_PAYLOAD_TRANSPORT_HEADER      = 0x2
  1681  	NFT_PAYLOAD_CSUM_NONE             = 0x0
  1682  	NFT_PAYLOAD_CSUM_INET             = 0x1
  1683  	NFT_PAYLOAD_L4CSUM_PSEUDOHDR      = 0x1
  1684  	NFTA_PAYLOAD_UNSPEC               = 0x0
  1685  	NFTA_PAYLOAD_DREG                 = 0x1
  1686  	NFTA_PAYLOAD_BASE                 = 0x2
  1687  	NFTA_PAYLOAD_OFFSET               = 0x3
  1688  	NFTA_PAYLOAD_LEN                  = 0x4
  1689  	NFTA_PAYLOAD_SREG                 = 0x5
  1690  	NFTA_PAYLOAD_CSUM_TYPE            = 0x6
  1691  	NFTA_PAYLOAD_CSUM_OFFSET          = 0x7
  1692  	NFTA_PAYLOAD_CSUM_FLAGS           = 0x8
  1693  	NFT_EXTHDR_F_PRESENT              = 0x1
  1694  	NFT_EXTHDR_OP_IPV6                = 0x0
  1695  	NFT_EXTHDR_OP_TCPOPT              = 0x1
  1696  	NFTA_EXTHDR_UNSPEC                = 0x0
  1697  	NFTA_EXTHDR_DREG                  = 0x1
  1698  	NFTA_EXTHDR_TYPE                  = 0x2
  1699  	NFTA_EXTHDR_OFFSET                = 0x3
  1700  	NFTA_EXTHDR_LEN                   = 0x4
  1701  	NFTA_EXTHDR_FLAGS                 = 0x5
  1702  	NFTA_EXTHDR_OP                    = 0x6
  1703  	NFTA_EXTHDR_SREG                  = 0x7
  1704  	NFT_META_LEN                      = 0x0
  1705  	NFT_META_PROTOCOL                 = 0x1
  1706  	NFT_META_PRIORITY                 = 0x2
  1707  	NFT_META_MARK                     = 0x3
  1708  	NFT_META_IIF                      = 0x4
  1709  	NFT_META_OIF                      = 0x5
  1710  	NFT_META_IIFNAME                  = 0x6
  1711  	NFT_META_OIFNAME                  = 0x7
  1712  	NFT_META_IIFTYPE                  = 0x8
  1713  	NFT_META_OIFTYPE                  = 0x9
  1714  	NFT_META_SKUID                    = 0xa
  1715  	NFT_META_SKGID                    = 0xb
  1716  	NFT_META_NFTRACE                  = 0xc
  1717  	NFT_META_RTCLASSID                = 0xd
  1718  	NFT_META_SECMARK                  = 0xe
  1719  	NFT_META_NFPROTO                  = 0xf
  1720  	NFT_META_L4PROTO                  = 0x10
  1721  	NFT_META_BRI_IIFNAME              = 0x11
  1722  	NFT_META_BRI_OIFNAME              = 0x12
  1723  	NFT_META_PKTTYPE                  = 0x13
  1724  	NFT_META_CPU                      = 0x14
  1725  	NFT_META_IIFGROUP                 = 0x15
  1726  	NFT_META_OIFGROUP                 = 0x16
  1727  	NFT_META_CGROUP                   = 0x17
  1728  	NFT_META_PRANDOM                  = 0x18
  1729  	NFT_RT_CLASSID                    = 0x0
  1730  	NFT_RT_NEXTHOP4                   = 0x1
  1731  	NFT_RT_NEXTHOP6                   = 0x2
  1732  	NFT_RT_TCPMSS                     = 0x3
  1733  	NFT_HASH_JENKINS                  = 0x0
  1734  	NFT_HASH_SYM                      = 0x1
  1735  	NFTA_HASH_UNSPEC                  = 0x0
  1736  	NFTA_HASH_SREG                    = 0x1
  1737  	NFTA_HASH_DREG                    = 0x2
  1738  	NFTA_HASH_LEN                     = 0x3
  1739  	NFTA_HASH_MODULUS                 = 0x4
  1740  	NFTA_HASH_SEED                    = 0x5
  1741  	NFTA_HASH_OFFSET                  = 0x6
  1742  	NFTA_HASH_TYPE                    = 0x7
  1743  	NFTA_META_UNSPEC                  = 0x0
  1744  	NFTA_META_DREG                    = 0x1
  1745  	NFTA_META_KEY                     = 0x2
  1746  	NFTA_META_SREG                    = 0x3
  1747  	NFTA_RT_UNSPEC                    = 0x0
  1748  	NFTA_RT_DREG                      = 0x1
  1749  	NFTA_RT_KEY                       = 0x2
  1750  	NFT_CT_STATE                      = 0x0
  1751  	NFT_CT_DIRECTION                  = 0x1
  1752  	NFT_CT_STATUS                     = 0x2
  1753  	NFT_CT_MARK                       = 0x3
  1754  	NFT_CT_SECMARK                    = 0x4
  1755  	NFT_CT_EXPIRATION                 = 0x5
  1756  	NFT_CT_HELPER                     = 0x6
  1757  	NFT_CT_L3PROTOCOL                 = 0x7
  1758  	NFT_CT_SRC                        = 0x8
  1759  	NFT_CT_DST                        = 0x9
  1760  	NFT_CT_PROTOCOL                   = 0xa
  1761  	NFT_CT_PROTO_SRC                  = 0xb
  1762  	NFT_CT_PROTO_DST                  = 0xc
  1763  	NFT_CT_LABELS                     = 0xd
  1764  	NFT_CT_PKTS                       = 0xe
  1765  	NFT_CT_BYTES                      = 0xf
  1766  	NFT_CT_AVGPKT                     = 0x10
  1767  	NFT_CT_ZONE                       = 0x11
  1768  	NFT_CT_EVENTMASK                  = 0x12
  1769  	NFTA_CT_UNSPEC                    = 0x0
  1770  	NFTA_CT_DREG                      = 0x1
  1771  	NFTA_CT_KEY                       = 0x2
  1772  	NFTA_CT_DIRECTION                 = 0x3
  1773  	NFTA_CT_SREG                      = 0x4
  1774  	NFT_LIMIT_PKTS                    = 0x0
  1775  	NFT_LIMIT_PKT_BYTES               = 0x1
  1776  	NFT_LIMIT_F_INV                   = 0x1
  1777  	NFTA_LIMIT_UNSPEC                 = 0x0
  1778  	NFTA_LIMIT_RATE                   = 0x1
  1779  	NFTA_LIMIT_UNIT                   = 0x2
  1780  	NFTA_LIMIT_BURST                  = 0x3
  1781  	NFTA_LIMIT_TYPE                   = 0x4
  1782  	NFTA_LIMIT_FLAGS                  = 0x5
  1783  	NFTA_LIMIT_PAD                    = 0x6
  1784  	NFTA_COUNTER_UNSPEC               = 0x0
  1785  	NFTA_COUNTER_BYTES                = 0x1
  1786  	NFTA_COUNTER_PACKETS              = 0x2
  1787  	NFTA_COUNTER_PAD                  = 0x3
  1788  	NFTA_LOG_UNSPEC                   = 0x0
  1789  	NFTA_LOG_GROUP                    = 0x1
  1790  	NFTA_LOG_PREFIX                   = 0x2
  1791  	NFTA_LOG_SNAPLEN                  = 0x3
  1792  	NFTA_LOG_QTHRESHOLD               = 0x4
  1793  	NFTA_LOG_LEVEL                    = 0x5
  1794  	NFTA_LOG_FLAGS                    = 0x6
  1795  	NFTA_QUEUE_UNSPEC                 = 0x0
  1796  	NFTA_QUEUE_NUM                    = 0x1
  1797  	NFTA_QUEUE_TOTAL                  = 0x2
  1798  	NFTA_QUEUE_FLAGS                  = 0x3
  1799  	NFTA_QUEUE_SREG_QNUM              = 0x4
  1800  	NFT_QUOTA_F_INV                   = 0x1
  1801  	NFT_QUOTA_F_DEPLETED              = 0x2
  1802  	NFTA_QUOTA_UNSPEC                 = 0x0
  1803  	NFTA_QUOTA_BYTES                  = 0x1
  1804  	NFTA_QUOTA_FLAGS                  = 0x2
  1805  	NFTA_QUOTA_PAD                    = 0x3
  1806  	NFTA_QUOTA_CONSUMED               = 0x4
  1807  	NFT_REJECT_ICMP_UNREACH           = 0x0
  1808  	NFT_REJECT_TCP_RST                = 0x1
  1809  	NFT_REJECT_ICMPX_UNREACH          = 0x2
  1810  	NFT_REJECT_ICMPX_NO_ROUTE         = 0x0
  1811  	NFT_REJECT_ICMPX_PORT_UNREACH     = 0x1
  1812  	NFT_REJECT_ICMPX_HOST_UNREACH     = 0x2
  1813  	NFT_REJECT_ICMPX_ADMIN_PROHIBITED = 0x3
  1814  	NFTA_REJECT_UNSPEC                = 0x0
  1815  	NFTA_REJECT_TYPE                  = 0x1
  1816  	NFTA_REJECT_ICMP_CODE             = 0x2
  1817  	NFT_NAT_SNAT                      = 0x0
  1818  	NFT_NAT_DNAT                      = 0x1
  1819  	NFTA_NAT_UNSPEC                   = 0x0
  1820  	NFTA_NAT_TYPE                     = 0x1
  1821  	NFTA_NAT_FAMILY                   = 0x2
  1822  	NFTA_NAT_REG_ADDR_MIN             = 0x3
  1823  	NFTA_NAT_REG_ADDR_MAX             = 0x4
  1824  	NFTA_NAT_REG_PROTO_MIN            = 0x5
  1825  	NFTA_NAT_REG_PROTO_MAX            = 0x6
  1826  	NFTA_NAT_FLAGS                    = 0x7
  1827  	NFTA_MASQ_UNSPEC                  = 0x0
  1828  	NFTA_MASQ_FLAGS                   = 0x1
  1829  	NFTA_MASQ_REG_PROTO_MIN           = 0x2
  1830  	NFTA_MASQ_REG_PROTO_MAX           = 0x3
  1831  	NFTA_REDIR_UNSPEC                 = 0x0
  1832  	NFTA_REDIR_REG_PROTO_MIN          = 0x1
  1833  	NFTA_REDIR_REG_PROTO_MAX          = 0x2
  1834  	NFTA_REDIR_FLAGS                  = 0x3
  1835  	NFTA_DUP_UNSPEC                   = 0x0
  1836  	NFTA_DUP_SREG_ADDR                = 0x1
  1837  	NFTA_DUP_SREG_DEV                 = 0x2
  1838  	NFTA_FWD_UNSPEC                   = 0x0
  1839  	NFTA_FWD_SREG_DEV                 = 0x1
  1840  	NFTA_OBJREF_UNSPEC                = 0x0
  1841  	NFTA_OBJREF_IMM_TYPE              = 0x1
  1842  	NFTA_OBJREF_IMM_NAME              = 0x2
  1843  	NFTA_OBJREF_SET_SREG              = 0x3
  1844  	NFTA_OBJREF_SET_NAME              = 0x4
  1845  	NFTA_OBJREF_SET_ID                = 0x5
  1846  	NFTA_GEN_UNSPEC                   = 0x0
  1847  	NFTA_GEN_ID                       = 0x1
  1848  	NFTA_GEN_PROC_PID                 = 0x2
  1849  	NFTA_GEN_PROC_NAME                = 0x3
  1850  	NFTA_FIB_UNSPEC                   = 0x0
  1851  	NFTA_FIB_DREG                     = 0x1
  1852  	NFTA_FIB_RESULT                   = 0x2
  1853  	NFTA_FIB_FLAGS                    = 0x3
  1854  	NFT_FIB_RESULT_UNSPEC             = 0x0
  1855  	NFT_FIB_RESULT_OIF                = 0x1
  1856  	NFT_FIB_RESULT_OIFNAME            = 0x2
  1857  	NFT_FIB_RESULT_ADDRTYPE           = 0x3
  1858  	NFTA_FIB_F_SADDR                  = 0x1
  1859  	NFTA_FIB_F_DADDR                  = 0x2
  1860  	NFTA_FIB_F_MARK                   = 0x4
  1861  	NFTA_FIB_F_IIF                    = 0x8
  1862  	NFTA_FIB_F_OIF                    = 0x10
  1863  	NFTA_FIB_F_PRESENT                = 0x20
  1864  	NFTA_CT_HELPER_UNSPEC             = 0x0
  1865  	NFTA_CT_HELPER_NAME               = 0x1
  1866  	NFTA_CT_HELPER_L3PROTO            = 0x2
  1867  	NFTA_CT_HELPER_L4PROTO            = 0x3
  1868  	NFTA_OBJ_UNSPEC                   = 0x0
  1869  	NFTA_OBJ_TABLE                    = 0x1
  1870  	NFTA_OBJ_NAME                     = 0x2
  1871  	NFTA_OBJ_TYPE                     = 0x3
  1872  	NFTA_OBJ_DATA                     = 0x4
  1873  	NFTA_OBJ_USE                      = 0x5
  1874  	NFTA_TRACE_UNSPEC                 = 0x0
  1875  	NFTA_TRACE_TABLE                  = 0x1
  1876  	NFTA_TRACE_CHAIN                  = 0x2
  1877  	NFTA_TRACE_RULE_HANDLE            = 0x3
  1878  	NFTA_TRACE_TYPE                   = 0x4
  1879  	NFTA_TRACE_VERDICT                = 0x5
  1880  	NFTA_TRACE_ID                     = 0x6
  1881  	NFTA_TRACE_LL_HEADER              = 0x7
  1882  	NFTA_TRACE_NETWORK_HEADER         = 0x8
  1883  	NFTA_TRACE_TRANSPORT_HEADER       = 0x9
  1884  	NFTA_TRACE_IIF                    = 0xa
  1885  	NFTA_TRACE_IIFTYPE                = 0xb
  1886  	NFTA_TRACE_OIF                    = 0xc
  1887  	NFTA_TRACE_OIFTYPE                = 0xd
  1888  	NFTA_TRACE_MARK                   = 0xe
  1889  	NFTA_TRACE_NFPROTO                = 0xf
  1890  	NFTA_TRACE_POLICY                 = 0x10
  1891  	NFTA_TRACE_PAD                    = 0x11
  1892  	NFT_TRACETYPE_UNSPEC              = 0x0
  1893  	NFT_TRACETYPE_POLICY              = 0x1
  1894  	NFT_TRACETYPE_RETURN              = 0x2
  1895  	NFT_TRACETYPE_RULE                = 0x3
  1896  	NFTA_NG_UNSPEC                    = 0x0
  1897  	NFTA_NG_DREG                      = 0x1
  1898  	NFTA_NG_MODULUS                   = 0x2
  1899  	NFTA_NG_TYPE                      = 0x3
  1900  	NFTA_NG_OFFSET                    = 0x4
  1901  	NFT_NG_INCREMENTAL                = 0x0
  1902  	NFT_NG_RANDOM                     = 0x1
  1903  )
  1904  
  1905  type RTCTime struct {
  1906  	Sec   int32
  1907  	Min   int32
  1908  	Hour  int32
  1909  	Mday  int32
  1910  	Mon   int32
  1911  	Year  int32
  1912  	Wday  int32
  1913  	Yday  int32
  1914  	Isdst int32
  1915  }
  1916  
  1917  type RTCWkAlrm struct {
  1918  	Enabled uint8
  1919  	Pending uint8
  1920  	Time    RTCTime
  1921  }
  1922  
  1923  type RTCPLLInfo struct {
  1924  	Ctrl    int32
  1925  	Value   int32
  1926  	Max     int32
  1927  	Min     int32
  1928  	Posmult int32
  1929  	Negmult int32
  1930  	Clock   int64
  1931  }
  1932  
  1933  type BlkpgIoctlArg struct {
  1934  	Op      int32
  1935  	Flags   int32
  1936  	Datalen int32
  1937  	Data    *byte
  1938  }
  1939  
  1940  type BlkpgPartition struct {
  1941  	Start   int64
  1942  	Length  int64
  1943  	Pno     int32
  1944  	Devname [64]uint8
  1945  	Volname [64]uint8
  1946  	_       [4]byte
  1947  }
  1948  
  1949  const (
  1950  	BLKPG                  = 0x1269
  1951  	BLKPG_ADD_PARTITION    = 0x1
  1952  	BLKPG_DEL_PARTITION    = 0x2
  1953  	BLKPG_RESIZE_PARTITION = 0x3
  1954  )
  1955  
  1956  const (
  1957  	NETNSA_NONE = 0x0
  1958  	NETNSA_NSID = 0x1
  1959  	NETNSA_PID  = 0x2
  1960  	NETNSA_FD   = 0x3
  1961  )
  1962  
  1963  type XDPRingOffset struct {
  1964  	Producer uint64
  1965  	Consumer uint64
  1966  	Desc     uint64
  1967  }
  1968  
  1969  type XDPMmapOffsets struct {
  1970  	Rx XDPRingOffset
  1971  	Tx XDPRingOffset
  1972  	Fr XDPRingOffset
  1973  	Cr XDPRingOffset
  1974  }
  1975  
  1976  type XDPUmemReg struct {
  1977  	Addr     uint64
  1978  	Len      uint64
  1979  	Size     uint32
  1980  	Headroom uint32
  1981  }
  1982  
  1983  type XDPStatistics struct {
  1984  	Rx_dropped       uint64
  1985  	Rx_invalid_descs uint64
  1986  	Tx_invalid_descs uint64
  1987  }
  1988  
  1989  type XDPDesc struct {
  1990  	Addr    uint64
  1991  	Len     uint32
  1992  	Options uint32
  1993  }
  1994  
  1995  const (
  1996  	NCSI_CMD_UNSPEC                 = 0x0
  1997  	NCSI_CMD_PKG_INFO               = 0x1
  1998  	NCSI_CMD_SET_INTERFACE          = 0x2
  1999  	NCSI_CMD_CLEAR_INTERFACE        = 0x3
  2000  	NCSI_ATTR_UNSPEC                = 0x0
  2001  	NCSI_ATTR_IFINDEX               = 0x1
  2002  	NCSI_ATTR_PACKAGE_LIST          = 0x2
  2003  	NCSI_ATTR_PACKAGE_ID            = 0x3
  2004  	NCSI_ATTR_CHANNEL_ID            = 0x4
  2005  	NCSI_PKG_ATTR_UNSPEC            = 0x0
  2006  	NCSI_PKG_ATTR                   = 0x1
  2007  	NCSI_PKG_ATTR_ID                = 0x2
  2008  	NCSI_PKG_ATTR_FORCED            = 0x3
  2009  	NCSI_PKG_ATTR_CHANNEL_LIST      = 0x4
  2010  	NCSI_CHANNEL_ATTR_UNSPEC        = 0x0
  2011  	NCSI_CHANNEL_ATTR               = 0x1
  2012  	NCSI_CHANNEL_ATTR_ID            = 0x2
  2013  	NCSI_CHANNEL_ATTR_VERSION_MAJOR = 0x3
  2014  	NCSI_CHANNEL_ATTR_VERSION_MINOR = 0x4
  2015  	NCSI_CHANNEL_ATTR_VERSION_STR   = 0x5
  2016  	NCSI_CHANNEL_ATTR_LINK_STATE    = 0x6
  2017  	NCSI_CHANNEL_ATTR_ACTIVE        = 0x7
  2018  	NCSI_CHANNEL_ATTR_FORCED        = 0x8
  2019  	NCSI_CHANNEL_ATTR_VLAN_LIST     = 0x9
  2020  	NCSI_CHANNEL_ATTR_VLAN_ID       = 0xa
  2021  )
  2022  
  2023  type ScmTimestamping struct {
  2024  	Ts [3]Timespec
  2025  }
  2026  
  2027  const (
  2028  	SOF_TIMESTAMPING_TX_HARDWARE  = 0x1
  2029  	SOF_TIMESTAMPING_TX_SOFTWARE  = 0x2
  2030  	SOF_TIMESTAMPING_RX_HARDWARE  = 0x4
  2031  	SOF_TIMESTAMPING_RX_SOFTWARE  = 0x8
  2032  	SOF_TIMESTAMPING_SOFTWARE     = 0x10
  2033  	SOF_TIMESTAMPING_SYS_HARDWARE = 0x20
  2034  	SOF_TIMESTAMPING_RAW_HARDWARE = 0x40
  2035  	SOF_TIMESTAMPING_OPT_ID       = 0x80
  2036  	SOF_TIMESTAMPING_TX_SCHED     = 0x100
  2037  	SOF_TIMESTAMPING_TX_ACK       = 0x200
  2038  	SOF_TIMESTAMPING_OPT_CMSG     = 0x400
  2039  	SOF_TIMESTAMPING_OPT_TSONLY   = 0x800
  2040  	SOF_TIMESTAMPING_OPT_STATS    = 0x1000
  2041  	SOF_TIMESTAMPING_OPT_PKTINFO  = 0x2000
  2042  	SOF_TIMESTAMPING_OPT_TX_SWHW  = 0x4000
  2043  
  2044  	SOF_TIMESTAMPING_LAST = 0x4000
  2045  	SOF_TIMESTAMPING_MASK = 0x7fff
  2046  
  2047  	SCM_TSTAMP_SND   = 0x0
  2048  	SCM_TSTAMP_SCHED = 0x1
  2049  	SCM_TSTAMP_ACK   = 0x2
  2050  )
  2051  
  2052  type SockExtendedErr struct {
  2053  	Errno  uint32
  2054  	Origin uint8
  2055  	Type   uint8
  2056  	Code   uint8
  2057  	Pad    uint8
  2058  	Info   uint32
  2059  	Data   uint32
  2060  }
  2061  
  2062  type FanotifyEventMetadata struct {
  2063  	Event_len    uint32
  2064  	Vers         uint8
  2065  	Reserved     uint8
  2066  	Metadata_len uint16
  2067  	Mask         uint64
  2068  	Fd           int32
  2069  	Pid          int32
  2070  }
  2071  
  2072  type FanotifyResponse struct {
  2073  	Fd       int32
  2074  	Response uint32
  2075  }