Home | History | Annotate | Download | only in syscall
      1 // Created by cgo -godefs - DO NOT EDIT
      2 // cgo -godefs types_linux.go
      3 
      4 package syscall
      5 
      6 const (
      7 	sizeofPtr      = 0x8
      8 	sizeofShort    = 0x2
      9 	sizeofInt      = 0x4
     10 	sizeofLong     = 0x8
     11 	sizeofLongLong = 0x8
     12 	PathMax        = 0x1000
     13 )
     14 
     15 type (
     16 	_C_short     int16
     17 	_C_int       int32
     18 	_C_long      int64
     19 	_C_long_long int64
     20 )
     21 
     22 type Timespec struct {
     23 	Sec  int64
     24 	Nsec int64
     25 }
     26 
     27 type Timeval struct {
     28 	Sec  int64
     29 	Usec int64
     30 }
     31 
     32 type Timex struct {
     33 	Modes     uint32
     34 	Pad_cgo_0 [4]byte
     35 	Offset    int64
     36 	Freq      int64
     37 	Maxerror  int64
     38 	Esterror  int64
     39 	Status    int32
     40 	Pad_cgo_1 [4]byte
     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 	Pad_cgo_2 [4]byte
     50 	Stabil    int64
     51 	Jitcnt    int64
     52 	Calcnt    int64
     53 	Errcnt    int64
     54 	Stbcnt    int64
     55 	Tai       int32
     56 	Pad_cgo_3 [44]byte
     57 }
     58 
     59 type Time_t int64
     60 
     61 type Tms struct {
     62 	Utime  int64
     63 	Stime  int64
     64 	Cutime int64
     65 	Cstime int64
     66 }
     67 
     68 type Utimbuf struct {
     69 	Actime  int64
     70 	Modtime int64
     71 }
     72 
     73 type Rusage struct {
     74 	Utime    Timeval
     75 	Stime    Timeval
     76 	Maxrss   int64
     77 	Ixrss    int64
     78 	Idrss    int64
     79 	Isrss    int64
     80 	Minflt   int64
     81 	Majflt   int64
     82 	Nswap    int64
     83 	Inblock  int64
     84 	Oublock  int64
     85 	Msgsnd   int64
     86 	Msgrcv   int64
     87 	Nsignals int64
     88 	Nvcsw    int64
     89 	Nivcsw   int64
     90 }
     91 
     92 type Rlimit struct {
     93 	Cur uint64
     94 	Max uint64
     95 }
     96 
     97 type _Gid_t uint32
     98 
     99 type Stat_t struct {
    100 	Dev     uint32
    101 	Pad1    [3]int32
    102 	Ino     uint64
    103 	Mode    uint32
    104 	Nlink   uint32
    105 	Uid     uint32
    106 	Gid     uint32
    107 	Rdev    uint32
    108 	Pad2    [3]uint32
    109 	Size    int64
    110 	Atim    Timespec
    111 	Mtim    Timespec
    112 	Ctim    Timespec
    113 	Blksize uint32
    114 	Pad4    uint32
    115 	Blocks  int64
    116 }
    117 
    118 type Statfs_t struct {
    119 	Type    int64
    120 	Bsize   int64
    121 	Frsize  int64
    122 	Blocks  uint64
    123 	Bfree   uint64
    124 	Files   uint64
    125 	Ffree   uint64
    126 	Bavail  uint64
    127 	Fsid    Fsid
    128 	Namelen int64
    129 	Flags   int64
    130 	Spare   [5]int64
    131 }
    132 
    133 // Note: on mips64, we're using the getdents syscall,
    134 // so the Dirent struct is different.
    135 
    136 type Dirent struct {
    137 	Ino       uint64
    138 	Off       int64
    139 	Reclen    uint16
    140 	Name      [256]int8
    141 	Type      uint8
    142 	Pad_cgo_0 [5]byte
    143 }
    144 
    145 type Fsid struct {
    146 	X__val [2]int32
    147 }
    148 
    149 type Flock_t struct {
    150 	Type      int16
    151 	Whence    int16
    152 	Pad_cgo_0 [4]byte
    153 	Start     int64
    154 	Len       int64
    155 	Pid       int32
    156 	Pad_cgo_1 [4]byte
    157 }
    158 
    159 type RawSockaddrInet4 struct {
    160 	Family uint16
    161 	Port   uint16
    162 	Addr   [4]byte /* in_addr */
    163 	Zero   [8]uint8
    164 }
    165 
    166 type RawSockaddrInet6 struct {
    167 	Family   uint16
    168 	Port     uint16
    169 	Flowinfo uint32
    170 	Addr     [16]byte /* in6_addr */
    171 	Scope_id uint32
    172 }
    173 
    174 type RawSockaddrUnix struct {
    175 	Family uint16
    176 	Path   [108]int8
    177 }
    178 
    179 type RawSockaddrLinklayer struct {
    180 	Family   uint16
    181 	Protocol uint16
    182 	Ifindex  int32
    183 	Hatype   uint16
    184 	Pkttype  uint8
    185 	Halen    uint8
    186 	Addr     [8]uint8
    187 }
    188 
    189 type RawSockaddrNetlink struct {
    190 	Family uint16
    191 	Pad    uint16
    192 	Pid    uint32
    193 	Groups uint32
    194 }
    195 
    196 type RawSockaddr struct {
    197 	Family uint16
    198 	Data   [14]int8
    199 }
    200 
    201 type RawSockaddrAny struct {
    202 	Addr RawSockaddr
    203 	Pad  [96]int8
    204 }
    205 
    206 type _Socklen uint32
    207 
    208 type Linger struct {
    209 	Onoff  int32
    210 	Linger int32
    211 }
    212 
    213 type Iovec struct {
    214 	Base *byte
    215 	Len  uint64
    216 }
    217 
    218 type IPMreq struct {
    219 	Multiaddr [4]byte /* in_addr */
    220 	Interface [4]byte /* in_addr */
    221 }
    222 
    223 type IPMreqn struct {
    224 	Multiaddr [4]byte /* in_addr */
    225 	Address   [4]byte /* in_addr */
    226 	Ifindex   int32
    227 }
    228 
    229 type IPv6Mreq struct {
    230 	Multiaddr [16]byte /* in6_addr */
    231 	Interface uint32
    232 }
    233 
    234 type Msghdr struct {
    235 	Name       *byte
    236 	Namelen    uint32
    237 	Pad_cgo_0  [4]byte
    238 	Iov        *Iovec
    239 	Iovlen     uint64
    240 	Control    *byte
    241 	Controllen uint64
    242 	Flags      int32
    243 	Pad_cgo_1  [4]byte
    244 }
    245 
    246 type Cmsghdr struct {
    247 	Len   uint64
    248 	Level int32
    249 	Type  int32
    250 }
    251 
    252 type Inet4Pktinfo struct {
    253 	Ifindex  int32
    254 	Spec_dst [4]byte /* in_addr */
    255 	Addr     [4]byte /* in_addr */
    256 }
    257 
    258 type Inet6Pktinfo struct {
    259 	Addr    [16]byte /* in6_addr */
    260 	Ifindex uint32
    261 }
    262 
    263 type IPv6MTUInfo struct {
    264 	Addr RawSockaddrInet6
    265 	Mtu  uint32
    266 }
    267 
    268 type ICMPv6Filter struct {
    269 	Data [8]uint32
    270 }
    271 
    272 type Ucred struct {
    273 	Pid int32
    274 	Uid uint32
    275 	Gid uint32
    276 }
    277 
    278 type TCPInfo struct {
    279 	State          uint8
    280 	Ca_state       uint8
    281 	Retransmits    uint8
    282 	Probes         uint8
    283 	Backoff        uint8
    284 	Options        uint8
    285 	Pad_cgo_0      [2]byte
    286 	Rto            uint32
    287 	Ato            uint32
    288 	Snd_mss        uint32
    289 	Rcv_mss        uint32
    290 	Unacked        uint32
    291 	Sacked         uint32
    292 	Lost           uint32
    293 	Retrans        uint32
    294 	Fackets        uint32
    295 	Last_data_sent uint32
    296 	Last_ack_sent  uint32
    297 	Last_data_recv uint32
    298 	Last_ack_recv  uint32
    299 	Pmtu           uint32
    300 	Rcv_ssthresh   uint32
    301 	Rtt            uint32
    302 	Rttvar         uint32
    303 	Snd_ssthresh   uint32
    304 	Snd_cwnd       uint32
    305 	Advmss         uint32
    306 	Reordering     uint32
    307 	Rcv_rtt        uint32
    308 	Rcv_space      uint32
    309 	Total_retrans  uint32
    310 }
    311 
    312 const (
    313 	SizeofSockaddrInet4     = 0x10
    314 	SizeofSockaddrInet6     = 0x1c
    315 	SizeofSockaddrAny       = 0x70
    316 	SizeofSockaddrUnix      = 0x6e
    317 	SizeofSockaddrLinklayer = 0x14
    318 	SizeofSockaddrNetlink   = 0xc
    319 	SizeofLinger            = 0x8
    320 	SizeofIPMreq            = 0x8
    321 	SizeofIPMreqn           = 0xc
    322 	SizeofIPv6Mreq          = 0x14
    323 	SizeofMsghdr            = 0x38
    324 	SizeofCmsghdr           = 0x10
    325 	SizeofInet4Pktinfo      = 0xc
    326 	SizeofInet6Pktinfo      = 0x14
    327 	SizeofIPv6MTUInfo       = 0x20
    328 	SizeofICMPv6Filter      = 0x20
    329 	SizeofUcred             = 0xc
    330 	SizeofTCPInfo           = 0x68
    331 )
    332 
    333 const (
    334 	IFA_UNSPEC          = 0x0
    335 	IFA_ADDRESS         = 0x1
    336 	IFA_LOCAL           = 0x2
    337 	IFA_LABEL           = 0x3
    338 	IFA_BROADCAST       = 0x4
    339 	IFA_ANYCAST         = 0x5
    340 	IFA_CACHEINFO       = 0x6
    341 	IFA_MULTICAST       = 0x7
    342 	IFLA_UNSPEC         = 0x0
    343 	IFLA_ADDRESS        = 0x1
    344 	IFLA_BROADCAST      = 0x2
    345 	IFLA_IFNAME         = 0x3
    346 	IFLA_MTU            = 0x4
    347 	IFLA_LINK           = 0x5
    348 	IFLA_QDISC          = 0x6
    349 	IFLA_STATS          = 0x7
    350 	IFLA_COST           = 0x8
    351 	IFLA_PRIORITY       = 0x9
    352 	IFLA_MASTER         = 0xa
    353 	IFLA_WIRELESS       = 0xb
    354 	IFLA_PROTINFO       = 0xc
    355 	IFLA_TXQLEN         = 0xd
    356 	IFLA_MAP            = 0xe
    357 	IFLA_WEIGHT         = 0xf
    358 	IFLA_OPERSTATE      = 0x10
    359 	IFLA_LINKMODE       = 0x11
    360 	IFLA_LINKINFO       = 0x12
    361 	IFLA_NET_NS_PID     = 0x13
    362 	IFLA_IFALIAS        = 0x14
    363 	IFLA_MAX            = 0x22
    364 	RT_SCOPE_UNIVERSE   = 0x0
    365 	RT_SCOPE_SITE       = 0xc8
    366 	RT_SCOPE_LINK       = 0xfd
    367 	RT_SCOPE_HOST       = 0xfe
    368 	RT_SCOPE_NOWHERE    = 0xff
    369 	RT_TABLE_UNSPEC     = 0x0
    370 	RT_TABLE_COMPAT     = 0xfc
    371 	RT_TABLE_DEFAULT    = 0xfd
    372 	RT_TABLE_MAIN       = 0xfe
    373 	RT_TABLE_LOCAL      = 0xff
    374 	RT_TABLE_MAX        = 0xffffffff
    375 	RTA_UNSPEC          = 0x0
    376 	RTA_DST             = 0x1
    377 	RTA_SRC             = 0x2
    378 	RTA_IIF             = 0x3
    379 	RTA_OIF             = 0x4
    380 	RTA_GATEWAY         = 0x5
    381 	RTA_PRIORITY        = 0x6
    382 	RTA_PREFSRC         = 0x7
    383 	RTA_METRICS         = 0x8
    384 	RTA_MULTIPATH       = 0x9
    385 	RTA_FLOW            = 0xb
    386 	RTA_CACHEINFO       = 0xc
    387 	RTA_TABLE           = 0xf
    388 	RTN_UNSPEC          = 0x0
    389 	RTN_UNICAST         = 0x1
    390 	RTN_LOCAL           = 0x2
    391 	RTN_BROADCAST       = 0x3
    392 	RTN_ANYCAST         = 0x4
    393 	RTN_MULTICAST       = 0x5
    394 	RTN_BLACKHOLE       = 0x6
    395 	RTN_UNREACHABLE     = 0x7
    396 	RTN_PROHIBIT        = 0x8
    397 	RTN_THROW           = 0x9
    398 	RTN_NAT             = 0xa
    399 	RTN_XRESOLVE        = 0xb
    400 	RTNLGRP_NONE        = 0x0
    401 	RTNLGRP_LINK        = 0x1
    402 	RTNLGRP_NOTIFY      = 0x2
    403 	RTNLGRP_NEIGH       = 0x3
    404 	RTNLGRP_TC          = 0x4
    405 	RTNLGRP_IPV4_IFADDR = 0x5
    406 	RTNLGRP_IPV4_MROUTE = 0x6
    407 	RTNLGRP_IPV4_ROUTE  = 0x7
    408 	RTNLGRP_IPV4_RULE   = 0x8
    409 	RTNLGRP_IPV6_IFADDR = 0x9
    410 	RTNLGRP_IPV6_MROUTE = 0xa
    411 	RTNLGRP_IPV6_ROUTE  = 0xb
    412 	RTNLGRP_IPV6_IFINFO = 0xc
    413 	RTNLGRP_IPV6_PREFIX = 0x12
    414 	RTNLGRP_IPV6_RULE   = 0x13
    415 	RTNLGRP_ND_USEROPT  = 0x14
    416 	SizeofNlMsghdr      = 0x10
    417 	SizeofNlMsgerr      = 0x14
    418 	SizeofRtGenmsg      = 0x1
    419 	SizeofNlAttr        = 0x4
    420 	SizeofRtAttr        = 0x4
    421 	SizeofIfInfomsg     = 0x10
    422 	SizeofIfAddrmsg     = 0x8
    423 	SizeofRtMsg         = 0xc
    424 	SizeofRtNexthop     = 0x8
    425 )
    426 
    427 type NlMsghdr struct {
    428 	Len   uint32
    429 	Type  uint16
    430 	Flags uint16
    431 	Seq   uint32
    432 	Pid   uint32
    433 }
    434 
    435 type NlMsgerr struct {
    436 	Error int32
    437 	Msg   NlMsghdr
    438 }
    439 
    440 type RtGenmsg struct {
    441 	Family uint8
    442 }
    443 
    444 type NlAttr struct {
    445 	Len  uint16
    446 	Type uint16
    447 }
    448 
    449 type RtAttr struct {
    450 	Len  uint16
    451 	Type uint16
    452 }
    453 
    454 type IfInfomsg struct {
    455 	Family     uint8
    456 	X__ifi_pad uint8
    457 	Type       uint16
    458 	Index      int32
    459 	Flags      uint32
    460 	Change     uint32
    461 }
    462 
    463 type IfAddrmsg struct {
    464 	Family    uint8
    465 	Prefixlen uint8
    466 	Flags     uint8
    467 	Scope     uint8
    468 	Index     uint32
    469 }
    470 
    471 type RtMsg struct {
    472 	Family   uint8
    473 	Dst_len  uint8
    474 	Src_len  uint8
    475 	Tos      uint8
    476 	Table    uint8
    477 	Protocol uint8
    478 	Scope    uint8
    479 	Type     uint8
    480 	Flags    uint32
    481 }
    482 
    483 type RtNexthop struct {
    484 	Len     uint16
    485 	Flags   uint8
    486 	Hops    uint8
    487 	Ifindex int32
    488 }
    489 
    490 const (
    491 	SizeofSockFilter = 0x8
    492 	SizeofSockFprog  = 0x10
    493 )
    494 
    495 type SockFilter struct {
    496 	Code uint16
    497 	Jt   uint8
    498 	Jf   uint8
    499 	K    uint32
    500 }
    501 
    502 type SockFprog struct {
    503 	Len       uint16
    504 	Pad_cgo_0 [6]byte
    505 	Filter    *SockFilter
    506 }
    507 
    508 type InotifyEvent struct {
    509 	Wd     int32
    510 	Mask   uint32
    511 	Cookie uint32
    512 	Len    uint32
    513 	Name   [0]int8
    514 }
    515 
    516 const SizeofInotifyEvent = 0x10
    517 
    518 type PtraceRegs struct {
    519 	Regs        [102]uint64
    520 	U_tsize     uint64
    521 	U_dsize     uint64
    522 	U_ssize     uint64
    523 	Start_code  uint64
    524 	Start_data  uint64
    525 	Start_stack uint64
    526 	Signal      int64
    527 	U_ar0       uint64
    528 	Magic       uint64
    529 	U_comm      [32]int8
    530 }
    531 
    532 type FdSet struct {
    533 	Bits [16]int64
    534 }
    535 
    536 type Sysinfo_t struct {
    537 	Uptime    int64
    538 	Loads     [3]uint64
    539 	Totalram  uint64
    540 	Freeram   uint64
    541 	Sharedram uint64
    542 	Bufferram uint64
    543 	Totalswap uint64
    544 	Freeswap  uint64
    545 	Procs     uint16
    546 	Pad       uint16
    547 	Pad_cgo_0 [4]byte
    548 	Totalhigh uint64
    549 	Freehigh  uint64
    550 	Unit      uint32
    551 	X_f       [0]int8
    552 	Pad_cgo_1 [4]byte
    553 }
    554 
    555 type Utsname struct {
    556 	Sysname    [65]int8
    557 	Nodename   [65]int8
    558 	Release    [65]int8
    559 	Version    [65]int8
    560 	Machine    [65]int8
    561 	Domainname [65]int8
    562 }
    563 
    564 type Ustat_t struct {
    565 	Tfree     int32
    566 	Pad_cgo_0 [4]byte
    567 	Tinode    uint64
    568 	Fname     [6]int8
    569 	Fpack     [6]int8
    570 	Pad_cgo_1 [4]byte
    571 }
    572 
    573 type EpollEvent struct {
    574 	Events uint32
    575 	Fd     int32
    576 	Pad    int32
    577 }
    578 
    579 const (
    580 	_AT_FDCWD            = -0x64
    581 	_AT_REMOVEDIR        = 0x200
    582 	_AT_SYMLINK_NOFOLLOW = 0x100
    583 )
    584 
    585 type Termios struct {
    586 	Iflag     uint32
    587 	Oflag     uint32
    588 	Cflag     uint32
    589 	Lflag     uint32
    590 	Line      uint8
    591 	Cc        [32]uint8
    592 	Pad_cgo_0 [3]byte
    593 }
    594 
    595 const (
    596 	IUCLC  = 0x200
    597 	OLCUC  = 0x2
    598 	TCGETS = 0x540d
    599 	TCSETS = 0x540e
    600 	XCASE  = 0x4
    601 )
    602