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