| ... | ... | @@ -4,6 +4,8 @@ const maxInt = std.math.maxInt; |
| 4 | 4 | pub const fd_t = c_int; |
| 5 | 5 | pub const pid_t = c_int; |
| 6 | 6 | |
| 7 | pub const socklen_t = u32; |
| 8 | |
| 7 | 9 | /// Renamed from `kevent` to `Kevent` to avoid conflict with function name. |
| 8 | 10 | pub const Kevent = extern struct { |
| 9 | 11 | ident: usize, |
| ... | ... | @@ -15,6 +17,32 @@ pub const Kevent = extern struct { |
| 15 | 17 | // TODO ext |
| 16 | 18 | }; |
| 17 | 19 | |
| 20 | // Modes and flags for dlopen() |
| 21 | // include/dlfcn.h |
| 22 | |
| 23 | /// Bind function calls lazily. |
| 24 | pub const RTLD_LAZY = 1; |
| 25 | |
| 26 | /// Bind function calls immediately. |
| 27 | pub const RTLD_NOW = 2; |
| 28 | |
| 29 | pub const RTLD_MODEMASK = 0x3; |
| 30 | |
| 31 | /// Make symbols globally available. |
| 32 | pub const RTLD_GLOBAL = 0x100; |
| 33 | |
| 34 | /// Opposite of RTLD_GLOBAL, and the default. |
| 35 | pub const RTLD_LOCAL = 0; |
| 36 | |
| 37 | /// Trace loaded objects and exit. |
| 38 | pub const RTLD_TRACE = 0x200; |
| 39 | |
| 40 | /// Do not remove members. |
| 41 | pub const RTLD_NODELETE = 0x01000; |
| 42 | |
| 43 | /// Do not load if not already loaded. |
| 44 | pub const RTLD_NOLOAD = 0x02000; |
| 45 | |
| 18 | 46 | pub const dl_phdr_info = extern struct { |
| 19 | 47 | dlpi_addr: usize, |
| 20 | 48 | dlpi_name: ?[*]const u8, |
| ... | ... | @@ -134,7 +162,7 @@ pub const dirent = extern struct { |
| 134 | 162 | }; |
| 135 | 163 | |
| 136 | 164 | pub const in_port_t = u16; |
| 137 | | pub const sa_family_t = u16; |
| 165 | pub const sa_family_t = u8; |
| 138 | 166 | |
| 139 | 167 | pub const sockaddr = extern struct { |
| 140 | 168 | /// total length |
| ... | ... | @@ -342,97 +370,93 @@ pub const SOCK_SEQPACKET = 5; |
| 342 | 370 | pub const SOCK_CLOEXEC = 0x10000000; |
| 343 | 371 | pub const SOCK_NONBLOCK = 0x20000000; |
| 344 | 372 | |
| 345 | | pub const PF_UNSPEC = 0; |
| 346 | | pub const PF_LOCAL = 1; |
| 373 | pub const PF_UNSPEC = AF_UNSPEC; |
| 374 | pub const PF_LOCAL = AF_LOCAL; |
| 347 | 375 | pub const PF_UNIX = PF_LOCAL; |
| 348 | | pub const PF_FILE = PF_LOCAL; |
| 349 | | pub const PF_INET = 2; |
| 350 | | pub const PF_AX25 = 3; |
| 351 | | pub const PF_IPX = 4; |
| 352 | | pub const PF_APPLETALK = 5; |
| 353 | | pub const PF_NETROM = 6; |
| 354 | | pub const PF_BRIDGE = 7; |
| 355 | | pub const PF_ATMPVC = 8; |
| 356 | | pub const PF_X25 = 9; |
| 357 | | pub const PF_INET6 = 10; |
| 358 | | pub const PF_ROSE = 11; |
| 359 | | pub const PF_DECnet = 12; |
| 360 | | pub const PF_NETBEUI = 13; |
| 361 | | pub const PF_SECURITY = 14; |
| 362 | | pub const PF_KEY = 15; |
| 363 | | pub const PF_NETLINK = 16; |
| 364 | | pub const PF_ROUTE = PF_NETLINK; |
| 365 | | pub const PF_PACKET = 17; |
| 366 | | pub const PF_ASH = 18; |
| 367 | | pub const PF_ECONET = 19; |
| 368 | | pub const PF_ATMSVC = 20; |
| 369 | | pub const PF_RDS = 21; |
| 370 | | pub const PF_SNA = 22; |
| 371 | | pub const PF_IRDA = 23; |
| 372 | | pub const PF_PPPOX = 24; |
| 373 | | pub const PF_WANPIPE = 25; |
| 374 | | pub const PF_LLC = 26; |
| 375 | | pub const PF_IB = 27; |
| 376 | | pub const PF_MPLS = 28; |
| 377 | | pub const PF_CAN = 29; |
| 378 | | pub const PF_TIPC = 30; |
| 379 | | pub const PF_BLUETOOTH = 31; |
| 380 | | pub const PF_IUCV = 32; |
| 381 | | pub const PF_RXRPC = 33; |
| 382 | | pub const PF_ISDN = 34; |
| 383 | | pub const PF_PHONET = 35; |
| 384 | | pub const PF_IEEE802154 = 36; |
| 385 | | pub const PF_CAIF = 37; |
| 386 | | pub const PF_ALG = 38; |
| 387 | | pub const PF_NFC = 39; |
| 388 | | pub const PF_VSOCK = 40; |
| 389 | | pub const PF_MAX = 41; |
| 390 | | |
| 391 | | pub const AF_UNSPEC = PF_UNSPEC; |
| 392 | | pub const AF_LOCAL = PF_LOCAL; |
| 393 | | pub const AF_UNIX = AF_LOCAL; |
| 376 | pub const PF_INET = AF_INET; |
| 377 | pub const PF_IMPLINK = AF_IMPLINK; |
| 378 | pub const PF_PUP = AF_PUP; |
| 379 | pub const PF_CHAOS = AF_CHAOS; |
| 380 | pub const PF_NETBIOS = AF_NETBIOS; |
| 381 | pub const PF_ISO = AF_ISO; |
| 382 | pub const PF_OSI = AF_ISO; |
| 383 | pub const PF_ECMA = AF_ECMA; |
| 384 | pub const PF_DATAKIT = AF_DATAKIT; |
| 385 | pub const PF_CCITT = AF_CCITT; |
| 386 | pub const PF_DECnet = AF_DECnet; |
| 387 | pub const PF_DLI = AF_DLI; |
| 388 | pub const PF_LAT = AF_LAT; |
| 389 | pub const PF_HYLINK = AF_HYLINK; |
| 390 | pub const PF_APPLETALK = AF_APPLETALK; |
| 391 | pub const PF_ROUTE = AF_ROUTE; |
| 392 | pub const PF_LINK = AF_LINK; |
| 393 | pub const PF_XTP = pseudo_AF_XTP; |
| 394 | pub const PF_COIP = AF_COIP; |
| 395 | pub const PF_CNT = AF_CNT; |
| 396 | pub const PF_SIP = AF_SIP; |
| 397 | pub const PF_IPX = AF_IPX; |
| 398 | pub const PF_RTIP = pseudo_AF_RTIP; |
| 399 | pub const PF_PIP = psuedo_AF_PIP; |
| 400 | pub const PF_ISDN = AF_ISDN; |
| 401 | pub const PF_KEY = pseudo_AF_KEY; |
| 402 | pub const PF_INET6 = pseudo_AF_INET6; |
| 403 | pub const PF_NATM = AF_NATM; |
| 404 | pub const PF_ATM = AF_ATM; |
| 405 | pub const PF_NETGRAPH = AF_NETGRAPH; |
| 406 | pub const PF_SLOW = AF_SLOW; |
| 407 | pub const PF_SCLUSTER = AF_SCLUSTER; |
| 408 | pub const PF_ARP = AF_ARP; |
| 409 | pub const PF_BLUETOOTH = AF_BLUETOOTH; |
| 410 | pub const PF_IEEE80211 = AF_IEE80211; |
| 411 | pub const PF_INET_SDP = AF_INET_SDP; |
| 412 | pub const PF_INET6_SDP = AF_INET6_SDP; |
| 413 | pub const PF_MAX = AF_MAX; |
| 414 | |
| 415 | pub const AF_UNSPEC = 0; |
| 416 | pub const AF_UNIX = 1; |
| 417 | pub const AF_LOCAL = AF_UNIX; |
| 394 | 418 | pub const AF_FILE = AF_LOCAL; |
| 395 | | pub const AF_INET = PF_INET; |
| 396 | | pub const AF_AX25 = PF_AX25; |
| 397 | | pub const AF_IPX = PF_IPX; |
| 398 | | pub const AF_APPLETALK = PF_APPLETALK; |
| 399 | | pub const AF_NETROM = PF_NETROM; |
| 400 | | pub const AF_BRIDGE = PF_BRIDGE; |
| 401 | | pub const AF_ATMPVC = PF_ATMPVC; |
| 402 | | pub const AF_X25 = PF_X25; |
| 403 | | pub const AF_INET6 = PF_INET6; |
| 404 | | pub const AF_ROSE = PF_ROSE; |
| 405 | | pub const AF_DECnet = PF_DECnet; |
| 406 | | pub const AF_NETBEUI = PF_NETBEUI; |
| 407 | | pub const AF_SECURITY = PF_SECURITY; |
| 408 | | pub const AF_KEY = PF_KEY; |
| 409 | | pub const AF_NETLINK = PF_NETLINK; |
| 410 | | pub const AF_ROUTE = PF_ROUTE; |
| 411 | | pub const AF_PACKET = PF_PACKET; |
| 412 | | pub const AF_ASH = PF_ASH; |
| 413 | | pub const AF_ECONET = PF_ECONET; |
| 414 | | pub const AF_ATMSVC = PF_ATMSVC; |
| 415 | | pub const AF_RDS = PF_RDS; |
| 416 | | pub const AF_SNA = PF_SNA; |
| 417 | | pub const AF_IRDA = PF_IRDA; |
| 418 | | pub const AF_PPPOX = PF_PPPOX; |
| 419 | | pub const AF_WANPIPE = PF_WANPIPE; |
| 420 | | pub const AF_LLC = PF_LLC; |
| 421 | | pub const AF_IB = PF_IB; |
| 422 | | pub const AF_MPLS = PF_MPLS; |
| 423 | | pub const AF_CAN = PF_CAN; |
| 424 | | pub const AF_TIPC = PF_TIPC; |
| 425 | | pub const AF_BLUETOOTH = PF_BLUETOOTH; |
| 426 | | pub const AF_IUCV = PF_IUCV; |
| 427 | | pub const AF_RXRPC = PF_RXRPC; |
| 428 | | pub const AF_ISDN = PF_ISDN; |
| 429 | | pub const AF_PHONET = PF_PHONET; |
| 430 | | pub const AF_IEEE802154 = PF_IEEE802154; |
| 431 | | pub const AF_CAIF = PF_CAIF; |
| 432 | | pub const AF_ALG = PF_ALG; |
| 433 | | pub const AF_NFC = PF_NFC; |
| 434 | | pub const AF_VSOCK = PF_VSOCK; |
| 435 | | pub const AF_MAX = PF_MAX; |
| 419 | pub const AF_INET = 2; |
| 420 | pub const AF_IMPLINK = 3; |
| 421 | pub const AF_PUP = 4; |
| 422 | pub const AF_CHAOS = 5; |
| 423 | pub const AF_NETBIOS = 6; |
| 424 | pub const AF_ISO = 7; |
| 425 | pub const AF_OSI = AF_ISO; |
| 426 | pub const AF_ECMA = 8; |
| 427 | pub const AF_DATAKIT = 9; |
| 428 | pub const AF_CCITT = 10; |
| 429 | pub const AF_SNA = 11; |
| 430 | pub const AF_DECnet = 12; |
| 431 | pub const AF_DLI = 13; |
| 432 | pub const AF_LAT = 14; |
| 433 | pub const AF_HYLINK = 15; |
| 434 | pub const AF_APPLETALK = 16; |
| 435 | pub const AF_ROUTE = 17; |
| 436 | pub const AF_LINK = 18; |
| 437 | pub const pseudo_AF_XTP = 19; |
| 438 | pub const AF_COIP = 20; |
| 439 | pub const AF_CNT = 21; |
| 440 | pub const pseudo_AF_RTIP = 22; |
| 441 | pub const AF_IPX = 23; |
| 442 | pub const AF_SIP = 24; |
| 443 | pub const pseudo_AF_PIP = 25; |
| 444 | pub const AF_ISDN = 26; |
| 445 | pub const AF_E164 = AF_ISDN; |
| 446 | pub const pseudo_AF_KEY = 27; |
| 447 | pub const AF_INET6 = 28; |
| 448 | pub const AF_NATM = 29; |
| 449 | pub const AF_ATM = 30; |
| 450 | pub const pseudo_AF_HDRCMPLT = 31; |
| 451 | pub const AF_NETGRAPH = 32; |
| 452 | pub const AF_SLOW = 33; |
| 453 | pub const AF_SCLUSTER = 34; |
| 454 | pub const AF_ARP = 35; |
| 455 | pub const AF_BLUETOOTH = 36; |
| 456 | pub const AF_IEEE80211 = 37; |
| 457 | pub const AF_INET_SDP = 38; |
| 458 | pub const AF_INET6_SDP = 39; |
| 459 | pub const AF_MAX = 42; |
| 436 | 460 | |
| 437 | 461 | pub const DT_UNKNOWN = 0; |
| 438 | 462 | pub const DT_FIFO = 1; |
| ... | ... | @@ -930,6 +954,17 @@ pub const AT_SYMLINK_FOLLOW = 0x0400; |
| 930 | 954 | /// Remove directory instead of file |
| 931 | 955 | pub const AT_REMOVEDIR = 0x0800; |
| 932 | 956 | |
| 957 | pub const addrinfo = extern struct { |
| 958 | flags: i32, |
| 959 | family: i32, |
| 960 | socktype: i32, |
| 961 | protocol: i32, |
| 962 | addrlen: socklen_t, |
| 963 | canonname: ?[*:0]u8, |
| 964 | addr: ?*sockaddr, |
| 965 | next: ?*addrinfo, |
| 966 | }; |
| 967 | |
| 933 | 968 | /// Fail if not under dirfd |
| 934 | 969 | pub const AT_BENEATH = 0x1000; |
| 935 | 970 | |