| ... | ... | @@ -20,6 +20,7 @@ pub const off_t = c_long; |
| 20 | 20 | pub const mode_t = c_uint; |
| 21 | 21 | pub const uid_t = u32; |
| 22 | 22 | pub const gid_t = u32; |
| 23 | pub const time_t = isize; |
| 23 | 24 | pub const suseconds_t = c_long; |
| 24 | 25 | |
| 25 | 26 | pub const ENOTSUP = EOPNOTSUPP; |
| ... | ... | @@ -149,6 +150,21 @@ pub const MAP_TRYFIXED = 65536; |
| 149 | 150 | pub const MAP_NOCORE = 131072; |
| 150 | 151 | pub const MAP_SIZEALIGN = 262144; |
| 151 | 152 | |
| 153 | pub const WNOHANG = 0x0001; |
| 154 | pub const WUNTRACED = 0x0002; |
| 155 | pub const WCONTINUED = 0x0004; |
| 156 | pub const WSTOPPED = WUNTRACED; |
| 157 | pub const WNOWAIT = 0x0008; |
| 158 | pub const WEXITED = 0x0010; |
| 159 | pub const WTRAPPED = 0x0020; |
| 160 | |
| 161 | pub const SA_ONSTACK = 0x0001; |
| 162 | pub const SA_RESTART = 0x0002; |
| 163 | pub const SA_RESETHAND = 0x0004; |
| 164 | pub const SA_NODEFER = 0x0010; |
| 165 | pub const SA_NOCLDWAIT = 0x0020; |
| 166 | pub const SA_SIGINFO = 0x0040; |
| 167 | |
| 152 | 168 | pub const PATH_MAX = 1024; |
| 153 | 169 | |
| 154 | 170 | pub const ino_t = c_ulong; |
| ... | ... | @@ -375,17 +391,9 @@ pub const CLOCK_THREAD_CPUTIME_ID = 14; |
| 375 | 391 | pub const CLOCK_PROCESS_CPUTIME_ID = 15; |
| 376 | 392 | |
| 377 | 393 | pub const sockaddr = extern struct { |
| 378 | | sa_len: u8, |
| 379 | | sa_family: u8, |
| 380 | | sa_data: [14]u8, |
| 381 | | }; |
| 382 | | |
| 383 | | pub const sockaddr_storage = extern struct { |
| 384 | 394 | len: u8, |
| 385 | | family: sa_family_t, |
| 386 | | __pad1: [5]u8, |
| 387 | | __align: i64, |
| 388 | | __pad2: [112]u8, |
| 395 | family: u8, |
| 396 | data: [14]u8, |
| 389 | 397 | }; |
| 390 | 398 | |
| 391 | 399 | pub const Kevent = extern struct { |
| ... | ... | @@ -486,10 +494,11 @@ pub const S_IFSOCK = 49152; |
| 486 | 494 | pub const S_IFWHT = 57344; |
| 487 | 495 | pub const S_IFMT = 61440; |
| 488 | 496 | |
| 489 | | pub const SIG_ERR = @intToPtr(fn (i32) callconv(.C) void, maxInt(usize)); |
| 490 | | pub const SIG_DFL = @intToPtr(fn (i32) callconv(.C) void, 0); |
| 491 | | pub const SIG_IGN = @intToPtr(fn (i32) callconv(.C) void, 1); |
| 497 | pub const SIG_DFL = @intToPtr(?Sigaction.sigaction_fn, 0); |
| 498 | pub const SIG_IGN = @intToPtr(?Sigaction.sigaction_fn, 1); |
| 499 | pub const SIG_ERR = @intToPtr(?Sigaction.sigaction_fn, maxInt(usize)); |
| 492 | 500 | pub const BADSIG = SIG_ERR; |
| 501 | |
| 493 | 502 | pub const SIG_BLOCK = 1; |
| 494 | 503 | pub const SIG_UNBLOCK = 2; |
| 495 | 504 | pub const SIG_SETMASK = 3; |
| ... | ... | @@ -529,22 +538,35 @@ pub const SIGUSR2 = 31; |
| 529 | 538 | pub const SIGTHR = 32; |
| 530 | 539 | pub const SIGCKPT = 33; |
| 531 | 540 | pub const SIGCKPTEXIT = 34; |
| 541 | |
| 532 | 542 | pub const siginfo_t = extern struct { |
| 533 | | si_signo: c_int, |
| 534 | | si_errno: c_int, |
| 535 | | si_code: c_int, |
| 536 | | si_pid: c_int, |
| 537 | | si_uid: uid_t, |
| 538 | | si_status: c_int, |
| 539 | | si_addr: ?*c_void, |
| 540 | | si_value: union_sigval, |
| 541 | | si_band: c_long, |
| 543 | signo: c_int, |
| 544 | errno: c_int, |
| 545 | code: c_int, |
| 546 | pid: c_int, |
| 547 | uid: uid_t, |
| 548 | status: c_int, |
| 549 | addr: ?*c_void, |
| 550 | value: sigval, |
| 551 | band: c_long, |
| 542 | 552 | __spare__: [7]c_int, |
| 543 | 553 | }; |
| 554 | |
| 555 | pub const sigval = extern union { |
| 556 | sival_int: c_int, |
| 557 | sival_ptr: ?*c_void, |
| 558 | }; |
| 559 | |
| 560 | pub const _SIG_WORDS = 4; |
| 561 | |
| 544 | 562 | pub const sigset_t = extern struct { |
| 545 | | __bits: [4]c_uint, |
| 563 | __bits: [_SIG_WORDS]c_uint, |
| 546 | 564 | }; |
| 565 | |
| 566 | pub const empty_sigset = sigset_t{ .__bits = [_]c_uint{0} ** _SIG_WORDS }; |
| 567 | |
| 547 | 568 | pub const sig_atomic_t = c_int; |
| 569 | |
| 548 | 570 | pub const Sigaction = extern struct { |
| 549 | 571 | pub const handler_fn = fn (c_int) callconv(.C) void; |
| 550 | 572 | pub const sigaction_fn = fn (c_int, *const siginfo_t, ?*const c_void) callconv(.C) void; |
| ... | ... | @@ -557,13 +579,8 @@ pub const Sigaction = extern struct { |
| 557 | 579 | flags: c_uint, |
| 558 | 580 | mask: sigset_t, |
| 559 | 581 | }; |
| 560 | | pub const sig_t = [*c]fn (c_int) callconv(.C) void; |
| 561 | 582 | |
| 562 | | pub const sigvec = extern struct { |
| 563 | | sv_handler: [*c]__sighandler_t, |
| 564 | | sv_mask: c_int, |
| 565 | | sv_flags: c_int, |
| 566 | | }; |
| 583 | pub const sig_t = [*c]fn (c_int) callconv(.C) void; |
| 567 | 584 | |
| 568 | 585 | pub const SOCK_STREAM = 1; |
| 569 | 586 | pub const SOCK_DGRAM = 2; |
| ... | ... | @@ -571,8 +588,37 @@ pub const SOCK_RAW = 3; |
| 571 | 588 | pub const SOCK_RDM = 4; |
| 572 | 589 | pub const SOCK_SEQPACKET = 5; |
| 573 | 590 | pub const SOCK_MAXADDRLEN = 255; |
| 574 | | pub const SOCK_CLOEXEC = 268435456; |
| 575 | | pub const SOCK_NONBLOCK = 536870912; |
| 591 | pub const SOCK_CLOEXEC = 0x10000000; |
| 592 | pub const SOCK_NONBLOCK = 0x20000000; |
| 593 | |
| 594 | pub const SO_DEBUG = 0x0001; |
| 595 | pub const SO_ACCEPTCONN = 0x0002; |
| 596 | pub const SO_REUSEADDR = 0x0004; |
| 597 | pub const SO_KEEPALIVE = 0x0008; |
| 598 | pub const SO_DONTROUTE = 0x0010; |
| 599 | pub const SO_BROADCAST = 0x0020; |
| 600 | pub const SO_USELOOPBACK = 0x0040; |
| 601 | pub const SO_LINGER = 0x0080; |
| 602 | pub const SO_OOBINLINE = 0x0100; |
| 603 | pub const SO_REUSEPORT = 0x0200; |
| 604 | pub const SO_TIMESTAMP = 0x0400; |
| 605 | pub const SO_NOSIGPIPE = 0x0800; |
| 606 | pub const SO_ACCEPTFILTER = 0x1000; |
| 607 | pub const SO_RERROR = 0x2000; |
| 608 | pub const SO_PASSCRED = 0x4000; |
| 609 | |
| 610 | pub const SO_SNDBUF = 0x1001; |
| 611 | pub const SO_RCVBUF = 0x1002; |
| 612 | pub const SO_SNDLOWAT = 0x1003; |
| 613 | pub const SO_RCVLOWAT = 0x1004; |
| 614 | pub const SO_SNDTIMEO = 0x1005; |
| 615 | pub const SO_RCVTIMEO = 0x1006; |
| 616 | pub const SO_ERROR = 0x1007; |
| 617 | pub const SO_TYPE = 0x1008; |
| 618 | pub const SO_SNDSPACE = 0x100a; |
| 619 | pub const SO_CPUHINT = 0x1030; |
| 620 | |
| 621 | pub const SOL_SOCKET = 0xffff; |
| 576 | 622 | |
| 577 | 623 | pub const PF_INET6 = AF_INET6; |
| 578 | 624 | pub const PF_IMPLINK = AF_IMPLINK; |
| ... | ... | @@ -636,6 +682,7 @@ pub const AF_CNT = 21; |
| 636 | 682 | pub const AF_IPX = 23; |
| 637 | 683 | pub const AF_SIP = 24; |
| 638 | 684 | pub const AF_ISDN = 26; |
| 685 | pub const AF_INET6 = 28; |
| 639 | 686 | pub const AF_NATM = 29; |
| 640 | 687 | pub const AF_ATM = 30; |
| 641 | 688 | pub const AF_NETGRAPH = 32; |
| ... | ... | @@ -643,8 +690,78 @@ pub const AF_BLUETOOTH = 33; |
| 643 | 690 | pub const AF_MPLS = 34; |
| 644 | 691 | pub const AF_MAX = 36; |
| 645 | 692 | |
| 693 | pub const in_port_t = u16; |
| 646 | 694 | pub const sa_family_t = u8; |
| 647 | | pub const socklen_t = c_uint; |
| 695 | pub const socklen_t = u32; |
| 696 | |
| 697 | pub const sockaddr_storage = extern struct { |
| 698 | ss_len: u8, |
| 699 | ss_family: sa_family_t, |
| 700 | __ss_pad1: [5]u8, |
| 701 | __ss_align: i64, |
| 702 | __ss_pad2: [112]u8, |
| 703 | }; |
| 704 | |
| 705 | pub const sockaddr_in = extern struct { |
| 706 | len: u8 = @sizeOf(sockaddr_in), |
| 707 | family: sa_family_t = AF_INET, |
| 708 | port: in_port_t, |
| 709 | addr: u32, |
| 710 | zero: [8]u8 = [8]u8{ 0, 0, 0, 0, 0, 0, 0, 0 }, |
| 711 | }; |
| 712 | |
| 713 | pub const sockaddr_in6 = extern struct { |
| 714 | len: u8 = @sizeOf(sockaddr_in6), |
| 715 | family: sa_family_t = AF_INET6, |
| 716 | port: in_port_t, |
| 717 | flowinfo: u32, |
| 718 | addr: [16]u8, |
| 719 | scope_id: u32, |
| 720 | }; |
| 721 | |
| 722 | pub const EAI = enum(c_int) { |
| 723 | ADDRFAMILY = 1, |
| 724 | AGAIN = 2, |
| 725 | BADFLAGS = 3, |
| 726 | FAIL = 4, |
| 727 | FAMILY = 5, |
| 728 | MEMORY = 6, |
| 729 | NODATA = 7, |
| 730 | NONAME = 8, |
| 731 | SERVICE = 9, |
| 732 | SOCKTYPE = 10, |
| 733 | SYSTEM = 11, |
| 734 | BADHINTS = 12, |
| 735 | PROTOCOL = 13, |
| 736 | OVERFLOW = 14, |
| 737 | _, |
| 738 | }; |
| 739 | |
| 740 | pub const AI_PASSIVE = 0x00000001; |
| 741 | pub const AI_CANONNAME = 0x00000002; |
| 742 | pub const AI_NUMERICHOST = 0x00000004; |
| 743 | pub const AI_NUMERICSERV = 0x00000008; |
| 744 | pub const AI_MASK = AI_PASSIVE | AI_CANONNAME | AI_NUMERICHOST | AI_NUMERICSERV | AI_ADDRCONFIG; |
| 745 | pub const AI_ALL = 0x00000100; |
| 746 | pub const AI_V4MAPPED_CFG = 0x00000200; |
| 747 | pub const AI_ADDRCONFIG = 0x00000400; |
| 748 | pub const AI_V4MAPPED = 0x00000800; |
| 749 | pub const AI_DEFAULT = AI_V4MAPPED_CFG | AI_ADDRCONFIG; |
| 750 | |
| 751 | pub const RTLD_LAZY = 1; |
| 752 | pub const RTLD_NOW = 2; |
| 753 | pub const RTLD_MODEMASK = 0x3; |
| 754 | pub const RTLD_GLOBAL = 0x100; |
| 755 | pub const RTLD_LOCAL = 0; |
| 756 | pub const RTLD_TRACE = 0x200; |
| 757 | pub const RTLD_NODELETE = 0x01000; |
| 758 | pub const RTLD_NOLOAD = 0x02000; |
| 759 | |
| 760 | pub const RTLD_NEXT = @intToPtr(*c_void, @bitCast(usize, @as(isize, -1))); |
| 761 | pub const RTLD_DEFAULT = @intToPtr(*c_void, @bitCast(usize, @as(isize, -2))); |
| 762 | pub const RTLD_SELF = @intToPtr(*c_void, @bitCast(usize, @as(isize, -3))); |
| 763 | pub const RTLD_ALL = @intToPtr(*c_void, @bitCast(usize, @as(isize, -4))); |
| 764 | |
| 648 | 765 | pub const dl_phdr_info = extern struct { |
| 649 | 766 | dlpi_addr: usize, |
| 650 | 767 | dlpi_name: ?[*:0]const u8, |
| ... | ... | @@ -735,6 +852,130 @@ pub const Flock = extern struct { |
| 735 | 852 | l_whence: c_short, |
| 736 | 853 | }; |
| 737 | 854 | |
| 855 | pub const addrinfo = extern struct { |
| 856 | flags: i32, |
| 857 | family: i32, |
| 858 | socktype: i32, |
| 859 | protocol: i32, |
| 860 | addrlen: socklen_t, |
| 861 | canonname: ?[*:0]u8, |
| 862 | addr: ?*sockaddr, |
| 863 | next: ?*addrinfo, |
| 864 | }; |
| 865 | |
| 866 | pub const IPPROTO_IP = 0; |
| 867 | pub const IPPROTO_ICMP = 1; |
| 868 | pub const IPPROTO_TCP = 6; |
| 869 | pub const IPPROTO_UDP = 17; |
| 870 | pub const IPPROTO_IPV6 = 41; |
| 871 | pub const IPPROTO_RAW = 255; |
| 872 | pub const IPPROTO_HOPOPTS = 0; |
| 873 | pub const IPPROTO_IGMP = 2; |
| 874 | pub const IPPROTO_GGP = 3; |
| 875 | pub const IPPROTO_IPV4 = 4; |
| 876 | pub const IPPROTO_IPIP = IPPROTO_IPV4; |
| 877 | pub const IPPROTO_ST = 7; |
| 878 | pub const IPPROTO_EGP = 8; |
| 879 | pub const IPPROTO_PIGP = 9; |
| 880 | pub const IPPROTO_RCCMON = 10; |
| 881 | pub const IPPROTO_NVPII = 11; |
| 882 | pub const IPPROTO_PUP = 12; |
| 883 | pub const IPPROTO_ARGUS = 13; |
| 884 | pub const IPPROTO_EMCON = 14; |
| 885 | pub const IPPROTO_XNET = 15; |
| 886 | pub const IPPROTO_CHAOS = 16; |
| 887 | pub const IPPROTO_MUX = 18; |
| 888 | pub const IPPROTO_MEAS = 19; |
| 889 | pub const IPPROTO_HMP = 20; |
| 890 | pub const IPPROTO_PRM = 21; |
| 891 | pub const IPPROTO_IDP = 22; |
| 892 | pub const IPPROTO_TRUNK1 = 23; |
| 893 | pub const IPPROTO_TRUNK2 = 24; |
| 894 | pub const IPPROTO_LEAF1 = 25; |
| 895 | pub const IPPROTO_LEAF2 = 26; |
| 896 | pub const IPPROTO_RDP = 27; |
| 897 | pub const IPPROTO_IRTP = 28; |
| 898 | pub const IPPROTO_TP = 29; |
| 899 | pub const IPPROTO_BLT = 30; |
| 900 | pub const IPPROTO_NSP = 31; |
| 901 | pub const IPPROTO_INP = 32; |
| 902 | pub const IPPROTO_SEP = 33; |
| 903 | pub const IPPROTO_3PC = 34; |
| 904 | pub const IPPROTO_IDPR = 35; |
| 905 | pub const IPPROTO_XTP = 36; |
| 906 | pub const IPPROTO_DDP = 37; |
| 907 | pub const IPPROTO_CMTP = 38; |
| 908 | pub const IPPROTO_TPXX = 39; |
| 909 | pub const IPPROTO_IL = 40; |
| 910 | pub const IPPROTO_SDRP = 42; |
| 911 | pub const IPPROTO_ROUTING = 43; |
| 912 | pub const IPPROTO_FRAGMENT = 44; |
| 913 | pub const IPPROTO_IDRP = 45; |
| 914 | pub const IPPROTO_RSVP = 46; |
| 915 | pub const IPPROTO_GRE = 47; |
| 916 | pub const IPPROTO_MHRP = 48; |
| 917 | pub const IPPROTO_BHA = 49; |
| 918 | pub const IPPROTO_ESP = 50; |
| 919 | pub const IPPROTO_AH = 51; |
| 920 | pub const IPPROTO_INLSP = 52; |
| 921 | pub const IPPROTO_SWIPE = 53; |
| 922 | pub const IPPROTO_NHRP = 54; |
| 923 | pub const IPPROTO_MOBILE = 55; |
| 924 | pub const IPPROTO_TLSP = 56; |
| 925 | pub const IPPROTO_SKIP = 57; |
| 926 | pub const IPPROTO_ICMPV6 = 58; |
| 927 | pub const IPPROTO_NONE = 59; |
| 928 | pub const IPPROTO_DSTOPTS = 60; |
| 929 | pub const IPPROTO_AHIP = 61; |
| 930 | pub const IPPROTO_CFTP = 62; |
| 931 | pub const IPPROTO_HELLO = 63; |
| 932 | pub const IPPROTO_SATEXPAK = 64; |
| 933 | pub const IPPROTO_KRYPTOLAN = 65; |
| 934 | pub const IPPROTO_RVD = 66; |
| 935 | pub const IPPROTO_IPPC = 67; |
| 936 | pub const IPPROTO_ADFS = 68; |
| 937 | pub const IPPROTO_SATMON = 69; |
| 938 | pub const IPPROTO_VISA = 70; |
| 939 | pub const IPPROTO_IPCV = 71; |
| 940 | pub const IPPROTO_CPNX = 72; |
| 941 | pub const IPPROTO_CPHB = 73; |
| 942 | pub const IPPROTO_WSN = 74; |
| 943 | pub const IPPROTO_PVP = 75; |
| 944 | pub const IPPROTO_BRSATMON = 76; |
| 945 | pub const IPPROTO_ND = 77; |
| 946 | pub const IPPROTO_WBMON = 78; |
| 947 | pub const IPPROTO_WBEXPAK = 79; |
| 948 | pub const IPPROTO_EON = 80; |
| 949 | pub const IPPROTO_VMTP = 81; |
| 950 | pub const IPPROTO_SVMTP = 82; |
| 951 | pub const IPPROTO_VINES = 83; |
| 952 | pub const IPPROTO_TTP = 84; |
| 953 | pub const IPPROTO_IGP = 85; |
| 954 | pub const IPPROTO_DGP = 86; |
| 955 | pub const IPPROTO_TCF = 87; |
| 956 | pub const IPPROTO_IGRP = 88; |
| 957 | pub const IPPROTO_OSPFIGP = 89; |
| 958 | pub const IPPROTO_SRPC = 90; |
| 959 | pub const IPPROTO_LARP = 91; |
| 960 | pub const IPPROTO_MTP = 92; |
| 961 | pub const IPPROTO_AX25 = 93; |
| 962 | pub const IPPROTO_IPEIP = 94; |
| 963 | pub const IPPROTO_MICP = 95; |
| 964 | pub const IPPROTO_SCCSP = 96; |
| 965 | pub const IPPROTO_ETHERIP = 97; |
| 966 | pub const IPPROTO_ENCAP = 98; |
| 967 | pub const IPPROTO_APES = 99; |
| 968 | pub const IPPROTO_GMTP = 100; |
| 969 | pub const IPPROTO_IPCOMP = 108; |
| 970 | pub const IPPROTO_PIM = 103; |
| 971 | pub const IPPROTO_CARP = 112; |
| 972 | pub const IPPROTO_PGM = 113; |
| 973 | pub const IPPROTO_PFSYNC = 240; |
| 974 | pub const IPPROTO_DIVERT = 254; |
| 975 | pub const IPPROTO_MAX = 256; |
| 976 | pub const IPPROTO_DONE = 257; |
| 977 | pub const IPPROTO_UNKNOWN = 258; |
| 978 | |
| 738 | 979 | pub const rlimit_resource = enum(c_int) { |
| 739 | 980 | CPU = 0, |
| 740 | 981 | FSIZE = 1, |