You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
6872 lines
237 KiB
6872 lines
237 KiB
/* automatically generated by rust-bindgen 0.57.0 */ |
|
|
|
pub const ZTS_MAC_ADDRSTRLEN: u32 = 18; |
|
pub const ZTS_INET_ADDRSTRLEN: u32 = 16; |
|
pub const ZTS_INET6_ADDRSTRLEN: u32 = 46; |
|
pub const ZTS_IP_MAX_STR_LEN: u32 = 46; |
|
pub const ZTS_STORE_DATA_LEN: u32 = 4096; |
|
pub const ZTS_MAX_NETWORK_SHORT_NAME_LENGTH: u32 = 127; |
|
pub const ZTS_MAX_NETWORK_ROUTES: u32 = 32; |
|
pub const ZTS_MAX_ASSIGNED_ADDRESSES: u32 = 16; |
|
pub const ZTS_MAX_PEER_NETWORK_PATHS: u32 = 16; |
|
pub const ZTS_MAX_MULTICAST_SUBSCRIPTIONS: u32 = 1024; |
|
pub const ZTS_MAX_ENDPOINT_STR_LEN: u32 = 52; |
|
pub const ZTS_C_API_ONLY: u32 = 1; |
|
pub const __WORDSIZE: u32 = 64; |
|
pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 0; |
|
pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1; |
|
pub const __DARWIN_ONLY_VERS_1050: u32 = 0; |
|
pub const __DARWIN_UNIX03: u32 = 1; |
|
pub const __DARWIN_64_BIT_INO_T: u32 = 1; |
|
pub const __DARWIN_VERS_1050: u32 = 1; |
|
pub const __DARWIN_NON_CANCELABLE: u32 = 0; |
|
pub const __DARWIN_SUF_64_BIT_INO_T: &'static [u8; 9usize] = b"$INODE64\0"; |
|
pub const __DARWIN_SUF_1050: &'static [u8; 6usize] = b"$1050\0"; |
|
pub const __DARWIN_SUF_EXTSN: &'static [u8; 14usize] = b"$DARWIN_EXTSN\0"; |
|
pub const __DARWIN_C_ANSI: u32 = 4096; |
|
pub const __DARWIN_C_FULL: u32 = 900000; |
|
pub const __DARWIN_C_LEVEL: u32 = 900000; |
|
pub const __STDC_WANT_LIB_EXT1__: u32 = 1; |
|
pub const __DARWIN_NO_LONG_LONG: u32 = 0; |
|
pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1; |
|
pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1; |
|
pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3; |
|
pub const __PTHREAD_SIZE__: u32 = 8176; |
|
pub const __PTHREAD_ATTR_SIZE__: u32 = 56; |
|
pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8; |
|
pub const __PTHREAD_MUTEX_SIZE__: u32 = 56; |
|
pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8; |
|
pub const __PTHREAD_COND_SIZE__: u32 = 40; |
|
pub const __PTHREAD_ONCE_SIZE__: u32 = 8; |
|
pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192; |
|
pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16; |
|
pub const INT8_MAX: u32 = 127; |
|
pub const INT16_MAX: u32 = 32767; |
|
pub const INT32_MAX: u32 = 2147483647; |
|
pub const INT64_MAX: u64 = 9223372036854775807; |
|
pub const INT8_MIN: i32 = -128; |
|
pub const INT16_MIN: i32 = -32768; |
|
pub const INT32_MIN: i32 = -2147483648; |
|
pub const INT64_MIN: i64 = -9223372036854775808; |
|
pub const UINT8_MAX: u32 = 255; |
|
pub const UINT16_MAX: u32 = 65535; |
|
pub const UINT32_MAX: u32 = 4294967295; |
|
pub const UINT64_MAX: i32 = -1; |
|
pub const INT_LEAST8_MIN: i32 = -128; |
|
pub const INT_LEAST16_MIN: i32 = -32768; |
|
pub const INT_LEAST32_MIN: i32 = -2147483648; |
|
pub const INT_LEAST64_MIN: i64 = -9223372036854775808; |
|
pub const INT_LEAST8_MAX: u32 = 127; |
|
pub const INT_LEAST16_MAX: u32 = 32767; |
|
pub const INT_LEAST32_MAX: u32 = 2147483647; |
|
pub const INT_LEAST64_MAX: u64 = 9223372036854775807; |
|
pub const UINT_LEAST8_MAX: u32 = 255; |
|
pub const UINT_LEAST16_MAX: u32 = 65535; |
|
pub const UINT_LEAST32_MAX: u32 = 4294967295; |
|
pub const UINT_LEAST64_MAX: i32 = -1; |
|
pub const INT_FAST8_MIN: i32 = -128; |
|
pub const INT_FAST16_MIN: i32 = -32768; |
|
pub const INT_FAST32_MIN: i32 = -2147483648; |
|
pub const INT_FAST64_MIN: i64 = -9223372036854775808; |
|
pub const INT_FAST8_MAX: u32 = 127; |
|
pub const INT_FAST16_MAX: u32 = 32767; |
|
pub const INT_FAST32_MAX: u32 = 2147483647; |
|
pub const INT_FAST64_MAX: u64 = 9223372036854775807; |
|
pub const UINT_FAST8_MAX: u32 = 255; |
|
pub const UINT_FAST16_MAX: u32 = 65535; |
|
pub const UINT_FAST32_MAX: u32 = 4294967295; |
|
pub const UINT_FAST64_MAX: i32 = -1; |
|
pub const INTPTR_MAX: u64 = 9223372036854775807; |
|
pub const INTPTR_MIN: i64 = -9223372036854775808; |
|
pub const UINTPTR_MAX: i32 = -1; |
|
pub const SIZE_MAX: i32 = -1; |
|
pub const RSIZE_MAX: i32 = -1; |
|
pub const WINT_MIN: i32 = -2147483648; |
|
pub const WINT_MAX: u32 = 2147483647; |
|
pub const SIG_ATOMIC_MIN: i32 = -2147483648; |
|
pub const SIG_ATOMIC_MAX: u32 = 2147483647; |
|
pub const __DARWIN_WCHAR_MIN: i32 = -2147483648; |
|
pub const _FORTIFY_SOURCE: u32 = 2; |
|
pub const _POSIX_VERSION: u32 = 200112; |
|
pub const _POSIX2_VERSION: u32 = 200112; |
|
pub const _POSIX_THREAD_KEYS_MAX: u32 = 128; |
|
pub const F_OK: u32 = 0; |
|
pub const X_OK: u32 = 1; |
|
pub const W_OK: u32 = 2; |
|
pub const R_OK: u32 = 4; |
|
pub const _READ_OK: u32 = 512; |
|
pub const _WRITE_OK: u32 = 1024; |
|
pub const _EXECUTE_OK: u32 = 2048; |
|
pub const _DELETE_OK: u32 = 4096; |
|
pub const _APPEND_OK: u32 = 8192; |
|
pub const _RMFILE_OK: u32 = 16384; |
|
pub const _RATTR_OK: u32 = 32768; |
|
pub const _WATTR_OK: u32 = 65536; |
|
pub const _REXT_OK: u32 = 131072; |
|
pub const _WEXT_OK: u32 = 262144; |
|
pub const _RPERM_OK: u32 = 524288; |
|
pub const _WPERM_OK: u32 = 1048576; |
|
pub const _CHOWN_OK: u32 = 2097152; |
|
pub const _ACCESS_EXTENDED_MASK: u32 = 4193792; |
|
pub const SEEK_SET: u32 = 0; |
|
pub const SEEK_CUR: u32 = 1; |
|
pub const SEEK_END: u32 = 2; |
|
pub const SEEK_HOLE: u32 = 3; |
|
pub const SEEK_DATA: u32 = 4; |
|
pub const L_SET: u32 = 0; |
|
pub const L_INCR: u32 = 1; |
|
pub const L_XTND: u32 = 2; |
|
pub const ACCESSX_MAX_DESCRIPTORS: u32 = 100; |
|
pub const ACCESSX_MAX_TABLESIZE: u32 = 16384; |
|
pub const _PC_LINK_MAX: u32 = 1; |
|
pub const _PC_MAX_CANON: u32 = 2; |
|
pub const _PC_MAX_INPUT: u32 = 3; |
|
pub const _PC_NAME_MAX: u32 = 4; |
|
pub const _PC_PATH_MAX: u32 = 5; |
|
pub const _PC_PIPE_BUF: u32 = 6; |
|
pub const _PC_CHOWN_RESTRICTED: u32 = 7; |
|
pub const _PC_NO_TRUNC: u32 = 8; |
|
pub const _PC_VDISABLE: u32 = 9; |
|
pub const _PC_NAME_CHARS_MAX: u32 = 10; |
|
pub const _PC_CASE_SENSITIVE: u32 = 11; |
|
pub const _PC_CASE_PRESERVING: u32 = 12; |
|
pub const _PC_EXTENDED_SECURITY_NP: u32 = 13; |
|
pub const _PC_AUTH_OPAQUE_NP: u32 = 14; |
|
pub const _PC_2_SYMLINKS: u32 = 15; |
|
pub const _PC_ALLOC_SIZE_MIN: u32 = 16; |
|
pub const _PC_ASYNC_IO: u32 = 17; |
|
pub const _PC_FILESIZEBITS: u32 = 18; |
|
pub const _PC_PRIO_IO: u32 = 19; |
|
pub const _PC_REC_INCR_XFER_SIZE: u32 = 20; |
|
pub const _PC_REC_MAX_XFER_SIZE: u32 = 21; |
|
pub const _PC_REC_MIN_XFER_SIZE: u32 = 22; |
|
pub const _PC_REC_XFER_ALIGN: u32 = 23; |
|
pub const _PC_SYMLINK_MAX: u32 = 24; |
|
pub const _PC_SYNC_IO: u32 = 25; |
|
pub const _PC_XATTR_SIZE_BITS: u32 = 26; |
|
pub const _PC_MIN_HOLE_SIZE: u32 = 27; |
|
pub const _CS_PATH: u32 = 1; |
|
pub const __API_TO_BE_DEPRECATED: u32 = 100000; |
|
pub const __MAC_10_0: u32 = 1000; |
|
pub const __MAC_10_1: u32 = 1010; |
|
pub const __MAC_10_2: u32 = 1020; |
|
pub const __MAC_10_3: u32 = 1030; |
|
pub const __MAC_10_4: u32 = 1040; |
|
pub const __MAC_10_5: u32 = 1050; |
|
pub const __MAC_10_6: u32 = 1060; |
|
pub const __MAC_10_7: u32 = 1070; |
|
pub const __MAC_10_8: u32 = 1080; |
|
pub const __MAC_10_9: u32 = 1090; |
|
pub const __MAC_10_10: u32 = 101000; |
|
pub const __MAC_10_10_2: u32 = 101002; |
|
pub const __MAC_10_10_3: u32 = 101003; |
|
pub const __MAC_10_11: u32 = 101100; |
|
pub const __MAC_10_11_2: u32 = 101102; |
|
pub const __MAC_10_11_3: u32 = 101103; |
|
pub const __MAC_10_11_4: u32 = 101104; |
|
pub const __MAC_10_12: u32 = 101200; |
|
pub const __MAC_10_12_1: u32 = 101201; |
|
pub const __MAC_10_12_2: u32 = 101202; |
|
pub const __MAC_10_12_4: u32 = 101204; |
|
pub const __MAC_10_13: u32 = 101300; |
|
pub const __MAC_10_13_1: u32 = 101301; |
|
pub const __MAC_10_13_2: u32 = 101302; |
|
pub const __MAC_10_13_4: u32 = 101304; |
|
pub const __MAC_10_14: u32 = 101400; |
|
pub const __MAC_10_14_1: u32 = 101401; |
|
pub const __MAC_10_14_4: u32 = 101404; |
|
pub const __MAC_10_14_6: u32 = 101406; |
|
pub const __MAC_10_15: u32 = 101500; |
|
pub const __MAC_10_15_1: u32 = 101501; |
|
pub const __MAC_10_15_4: u32 = 101504; |
|
pub const __MAC_10_16: u32 = 101600; |
|
pub const __MAC_11_0: u32 = 110000; |
|
pub const __MAC_11_1: u32 = 110100; |
|
pub const __MAC_11_3: u32 = 110300; |
|
pub const __IPHONE_2_0: u32 = 20000; |
|
pub const __IPHONE_2_1: u32 = 20100; |
|
pub const __IPHONE_2_2: u32 = 20200; |
|
pub const __IPHONE_3_0: u32 = 30000; |
|
pub const __IPHONE_3_1: u32 = 30100; |
|
pub const __IPHONE_3_2: u32 = 30200; |
|
pub const __IPHONE_4_0: u32 = 40000; |
|
pub const __IPHONE_4_1: u32 = 40100; |
|
pub const __IPHONE_4_2: u32 = 40200; |
|
pub const __IPHONE_4_3: u32 = 40300; |
|
pub const __IPHONE_5_0: u32 = 50000; |
|
pub const __IPHONE_5_1: u32 = 50100; |
|
pub const __IPHONE_6_0: u32 = 60000; |
|
pub const __IPHONE_6_1: u32 = 60100; |
|
pub const __IPHONE_7_0: u32 = 70000; |
|
pub const __IPHONE_7_1: u32 = 70100; |
|
pub const __IPHONE_8_0: u32 = 80000; |
|
pub const __IPHONE_8_1: u32 = 80100; |
|
pub const __IPHONE_8_2: u32 = 80200; |
|
pub const __IPHONE_8_3: u32 = 80300; |
|
pub const __IPHONE_8_4: u32 = 80400; |
|
pub const __IPHONE_9_0: u32 = 90000; |
|
pub const __IPHONE_9_1: u32 = 90100; |
|
pub const __IPHONE_9_2: u32 = 90200; |
|
pub const __IPHONE_9_3: u32 = 90300; |
|
pub const __IPHONE_10_0: u32 = 100000; |
|
pub const __IPHONE_10_1: u32 = 100100; |
|
pub const __IPHONE_10_2: u32 = 100200; |
|
pub const __IPHONE_10_3: u32 = 100300; |
|
pub const __IPHONE_11_0: u32 = 110000; |
|
pub const __IPHONE_11_1: u32 = 110100; |
|
pub const __IPHONE_11_2: u32 = 110200; |
|
pub const __IPHONE_11_3: u32 = 110300; |
|
pub const __IPHONE_11_4: u32 = 110400; |
|
pub const __IPHONE_12_0: u32 = 120000; |
|
pub const __IPHONE_12_1: u32 = 120100; |
|
pub const __IPHONE_12_2: u32 = 120200; |
|
pub const __IPHONE_12_3: u32 = 120300; |
|
pub const __IPHONE_12_4: u32 = 120400; |
|
pub const __IPHONE_13_0: u32 = 130000; |
|
pub const __IPHONE_13_1: u32 = 130100; |
|
pub const __IPHONE_13_2: u32 = 130200; |
|
pub const __IPHONE_13_3: u32 = 130300; |
|
pub const __IPHONE_13_4: u32 = 130400; |
|
pub const __IPHONE_13_5: u32 = 130500; |
|
pub const __IPHONE_13_6: u32 = 130600; |
|
pub const __IPHONE_13_7: u32 = 130700; |
|
pub const __IPHONE_14_0: u32 = 140000; |
|
pub const __IPHONE_14_1: u32 = 140100; |
|
pub const __IPHONE_14_2: u32 = 140200; |
|
pub const __IPHONE_14_3: u32 = 140300; |
|
pub const __IPHONE_14_5: u32 = 140500; |
|
pub const __TVOS_9_0: u32 = 90000; |
|
pub const __TVOS_9_1: u32 = 90100; |
|
pub const __TVOS_9_2: u32 = 90200; |
|
pub const __TVOS_10_0: u32 = 100000; |
|
pub const __TVOS_10_0_1: u32 = 100001; |
|
pub const __TVOS_10_1: u32 = 100100; |
|
pub const __TVOS_10_2: u32 = 100200; |
|
pub const __TVOS_11_0: u32 = 110000; |
|
pub const __TVOS_11_1: u32 = 110100; |
|
pub const __TVOS_11_2: u32 = 110200; |
|
pub const __TVOS_11_3: u32 = 110300; |
|
pub const __TVOS_11_4: u32 = 110400; |
|
pub const __TVOS_12_0: u32 = 120000; |
|
pub const __TVOS_12_1: u32 = 120100; |
|
pub const __TVOS_12_2: u32 = 120200; |
|
pub const __TVOS_12_3: u32 = 120300; |
|
pub const __TVOS_12_4: u32 = 120400; |
|
pub const __TVOS_13_0: u32 = 130000; |
|
pub const __TVOS_13_2: u32 = 130200; |
|
pub const __TVOS_13_3: u32 = 130300; |
|
pub const __TVOS_13_4: u32 = 130400; |
|
pub const __TVOS_14_0: u32 = 140000; |
|
pub const __TVOS_14_1: u32 = 140100; |
|
pub const __TVOS_14_2: u32 = 140200; |
|
pub const __TVOS_14_3: u32 = 140300; |
|
pub const __TVOS_14_5: u32 = 140500; |
|
pub const __WATCHOS_1_0: u32 = 10000; |
|
pub const __WATCHOS_2_0: u32 = 20000; |
|
pub const __WATCHOS_2_1: u32 = 20100; |
|
pub const __WATCHOS_2_2: u32 = 20200; |
|
pub const __WATCHOS_3_0: u32 = 30000; |
|
pub const __WATCHOS_3_1: u32 = 30100; |
|
pub const __WATCHOS_3_1_1: u32 = 30101; |
|
pub const __WATCHOS_3_2: u32 = 30200; |
|
pub const __WATCHOS_4_0: u32 = 40000; |
|
pub const __WATCHOS_4_1: u32 = 40100; |
|
pub const __WATCHOS_4_2: u32 = 40200; |
|
pub const __WATCHOS_4_3: u32 = 40300; |
|
pub const __WATCHOS_5_0: u32 = 50000; |
|
pub const __WATCHOS_5_1: u32 = 50100; |
|
pub const __WATCHOS_5_2: u32 = 50200; |
|
pub const __WATCHOS_5_3: u32 = 50300; |
|
pub const __WATCHOS_6_0: u32 = 60000; |
|
pub const __WATCHOS_6_1: u32 = 60100; |
|
pub const __WATCHOS_6_2: u32 = 60200; |
|
pub const __WATCHOS_7_0: u32 = 70000; |
|
pub const __WATCHOS_7_1: u32 = 70100; |
|
pub const __WATCHOS_7_2: u32 = 70200; |
|
pub const __WATCHOS_7_3: u32 = 70300; |
|
pub const __WATCHOS_7_4: u32 = 70400; |
|
pub const MAC_OS_X_VERSION_10_0: u32 = 1000; |
|
pub const MAC_OS_X_VERSION_10_1: u32 = 1010; |
|
pub const MAC_OS_X_VERSION_10_2: u32 = 1020; |
|
pub const MAC_OS_X_VERSION_10_3: u32 = 1030; |
|
pub const MAC_OS_X_VERSION_10_4: u32 = 1040; |
|
pub const MAC_OS_X_VERSION_10_5: u32 = 1050; |
|
pub const MAC_OS_X_VERSION_10_6: u32 = 1060; |
|
pub const MAC_OS_X_VERSION_10_7: u32 = 1070; |
|
pub const MAC_OS_X_VERSION_10_8: u32 = 1080; |
|
pub const MAC_OS_X_VERSION_10_9: u32 = 1090; |
|
pub const MAC_OS_X_VERSION_10_10: u32 = 101000; |
|
pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002; |
|
pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003; |
|
pub const MAC_OS_X_VERSION_10_11: u32 = 101100; |
|
pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102; |
|
pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103; |
|
pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104; |
|
pub const MAC_OS_X_VERSION_10_12: u32 = 101200; |
|
pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201; |
|
pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202; |
|
pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204; |
|
pub const MAC_OS_X_VERSION_10_13: u32 = 101300; |
|
pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301; |
|
pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302; |
|
pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304; |
|
pub const MAC_OS_X_VERSION_10_14: u32 = 101400; |
|
pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401; |
|
pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404; |
|
pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406; |
|
pub const MAC_OS_X_VERSION_10_15: u32 = 101500; |
|
pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501; |
|
pub const MAC_OS_X_VERSION_10_16: u32 = 101600; |
|
pub const MAC_OS_VERSION_11_0: u32 = 110000; |
|
pub const __DRIVERKIT_19_0: u32 = 190000; |
|
pub const __DRIVERKIT_20_0: u32 = 200000; |
|
pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 110300; |
|
pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1; |
|
pub const STDIN_FILENO: u32 = 0; |
|
pub const STDOUT_FILENO: u32 = 1; |
|
pub const STDERR_FILENO: u32 = 2; |
|
pub const _XOPEN_VERSION: u32 = 600; |
|
pub const _XOPEN_XCU_VERSION: u32 = 4; |
|
pub const _POSIX_ADVISORY_INFO: i32 = -1; |
|
pub const _POSIX_ASYNCHRONOUS_IO: i32 = -1; |
|
pub const _POSIX_BARRIERS: i32 = -1; |
|
pub const _POSIX_CHOWN_RESTRICTED: u32 = 200112; |
|
pub const _POSIX_CLOCK_SELECTION: i32 = -1; |
|
pub const _POSIX_CPUTIME: i32 = -1; |
|
pub const _POSIX_FSYNC: u32 = 200112; |
|
pub const _POSIX_IPV6: u32 = 200112; |
|
pub const _POSIX_JOB_CONTROL: u32 = 200112; |
|
pub const _POSIX_MAPPED_FILES: u32 = 200112; |
|
pub const _POSIX_MEMLOCK: i32 = -1; |
|
pub const _POSIX_MEMLOCK_RANGE: i32 = -1; |
|
pub const _POSIX_MEMORY_PROTECTION: u32 = 200112; |
|
pub const _POSIX_MESSAGE_PASSING: i32 = -1; |
|
pub const _POSIX_MONOTONIC_CLOCK: i32 = -1; |
|
pub const _POSIX_NO_TRUNC: u32 = 200112; |
|
pub const _POSIX_PRIORITIZED_IO: i32 = -1; |
|
pub const _POSIX_PRIORITY_SCHEDULING: i32 = -1; |
|
pub const _POSIX_RAW_SOCKETS: i32 = -1; |
|
pub const _POSIX_READER_WRITER_LOCKS: u32 = 200112; |
|
pub const _POSIX_REALTIME_SIGNALS: i32 = -1; |
|
pub const _POSIX_REGEXP: u32 = 200112; |
|
pub const _POSIX_SAVED_IDS: u32 = 200112; |
|
pub const _POSIX_SEMAPHORES: i32 = -1; |
|
pub const _POSIX_SHARED_MEMORY_OBJECTS: i32 = -1; |
|
pub const _POSIX_SHELL: u32 = 200112; |
|
pub const _POSIX_SPAWN: i32 = -1; |
|
pub const _POSIX_SPIN_LOCKS: i32 = -1; |
|
pub const _POSIX_SPORADIC_SERVER: i32 = -1; |
|
pub const _POSIX_SYNCHRONIZED_IO: i32 = -1; |
|
pub const _POSIX_THREAD_ATTR_STACKADDR: u32 = 200112; |
|
pub const _POSIX_THREAD_ATTR_STACKSIZE: u32 = 200112; |
|
pub const _POSIX_THREAD_CPUTIME: i32 = -1; |
|
pub const _POSIX_THREAD_PRIO_INHERIT: i32 = -1; |
|
pub const _POSIX_THREAD_PRIO_PROTECT: i32 = -1; |
|
pub const _POSIX_THREAD_PRIORITY_SCHEDULING: i32 = -1; |
|
pub const _POSIX_THREAD_PROCESS_SHARED: u32 = 200112; |
|
pub const _POSIX_THREAD_SAFE_FUNCTIONS: u32 = 200112; |
|
pub const _POSIX_THREAD_SPORADIC_SERVER: i32 = -1; |
|
pub const _POSIX_THREADS: u32 = 200112; |
|
pub const _POSIX_TIMEOUTS: i32 = -1; |
|
pub const _POSIX_TIMERS: i32 = -1; |
|
pub const _POSIX_TRACE: i32 = -1; |
|
pub const _POSIX_TRACE_EVENT_FILTER: i32 = -1; |
|
pub const _POSIX_TRACE_INHERIT: i32 = -1; |
|
pub const _POSIX_TRACE_LOG: i32 = -1; |
|
pub const _POSIX_TYPED_MEMORY_OBJECTS: i32 = -1; |
|
pub const _POSIX2_C_BIND: u32 = 200112; |
|
pub const _POSIX2_C_DEV: u32 = 200112; |
|
pub const _POSIX2_CHAR_TERM: u32 = 200112; |
|
pub const _POSIX2_FORT_DEV: i32 = -1; |
|
pub const _POSIX2_FORT_RUN: u32 = 200112; |
|
pub const _POSIX2_LOCALEDEF: u32 = 200112; |
|
pub const _POSIX2_PBS: i32 = -1; |
|
pub const _POSIX2_PBS_ACCOUNTING: i32 = -1; |
|
pub const _POSIX2_PBS_CHECKPOINT: i32 = -1; |
|
pub const _POSIX2_PBS_LOCATE: i32 = -1; |
|
pub const _POSIX2_PBS_MESSAGE: i32 = -1; |
|
pub const _POSIX2_PBS_TRACK: i32 = -1; |
|
pub const _POSIX2_SW_DEV: u32 = 200112; |
|
pub const _POSIX2_UPE: u32 = 200112; |
|
pub const __ILP32_OFF32: i32 = -1; |
|
pub const __ILP32_OFFBIG: i32 = -1; |
|
pub const __LP64_OFF64: u32 = 1; |
|
pub const __LPBIG_OFFBIG: u32 = 1; |
|
pub const _POSIX_V6_ILP32_OFF32: i32 = -1; |
|
pub const _POSIX_V6_ILP32_OFFBIG: i32 = -1; |
|
pub const _POSIX_V6_LP64_OFF64: u32 = 1; |
|
pub const _POSIX_V6_LPBIG_OFFBIG: u32 = 1; |
|
pub const _POSIX_V7_ILP32_OFF32: i32 = -1; |
|
pub const _POSIX_V7_ILP32_OFFBIG: i32 = -1; |
|
pub const _POSIX_V7_LP64_OFF64: u32 = 1; |
|
pub const _POSIX_V7_LPBIG_OFFBIG: u32 = 1; |
|
pub const _V6_ILP32_OFF32: i32 = -1; |
|
pub const _V6_ILP32_OFFBIG: i32 = -1; |
|
pub const _V6_LP64_OFF64: u32 = 1; |
|
pub const _V6_LPBIG_OFFBIG: u32 = 1; |
|
pub const _XBS5_ILP32_OFF32: i32 = -1; |
|
pub const _XBS5_ILP32_OFFBIG: i32 = -1; |
|
pub const _XBS5_LP64_OFF64: u32 = 1; |
|
pub const _XBS5_LPBIG_OFFBIG: u32 = 1; |
|
pub const _XOPEN_CRYPT: u32 = 1; |
|
pub const _XOPEN_ENH_I18N: u32 = 1; |
|
pub const _XOPEN_LEGACY: i32 = -1; |
|
pub const _XOPEN_REALTIME: i32 = -1; |
|
pub const _XOPEN_REALTIME_THREADS: i32 = -1; |
|
pub const _XOPEN_SHM: u32 = 1; |
|
pub const _XOPEN_STREAMS: i32 = -1; |
|
pub const _XOPEN_UNIX: u32 = 1; |
|
pub const _SC_ARG_MAX: u32 = 1; |
|
pub const _SC_CHILD_MAX: u32 = 2; |
|
pub const _SC_CLK_TCK: u32 = 3; |
|
pub const _SC_NGROUPS_MAX: u32 = 4; |
|
pub const _SC_OPEN_MAX: u32 = 5; |
|
pub const _SC_JOB_CONTROL: u32 = 6; |
|
pub const _SC_SAVED_IDS: u32 = 7; |
|
pub const _SC_VERSION: u32 = 8; |
|
pub const _SC_BC_BASE_MAX: u32 = 9; |
|
pub const _SC_BC_DIM_MAX: u32 = 10; |
|
pub const _SC_BC_SCALE_MAX: u32 = 11; |
|
pub const _SC_BC_STRING_MAX: u32 = 12; |
|
pub const _SC_COLL_WEIGHTS_MAX: u32 = 13; |
|
pub const _SC_EXPR_NEST_MAX: u32 = 14; |
|
pub const _SC_LINE_MAX: u32 = 15; |
|
pub const _SC_RE_DUP_MAX: u32 = 16; |
|
pub const _SC_2_VERSION: u32 = 17; |
|
pub const _SC_2_C_BIND: u32 = 18; |
|
pub const _SC_2_C_DEV: u32 = 19; |
|
pub const _SC_2_CHAR_TERM: u32 = 20; |
|
pub const _SC_2_FORT_DEV: u32 = 21; |
|
pub const _SC_2_FORT_RUN: u32 = 22; |
|
pub const _SC_2_LOCALEDEF: u32 = 23; |
|
pub const _SC_2_SW_DEV: u32 = 24; |
|
pub const _SC_2_UPE: u32 = 25; |
|
pub const _SC_STREAM_MAX: u32 = 26; |
|
pub const _SC_TZNAME_MAX: u32 = 27; |
|
pub const _SC_ASYNCHRONOUS_IO: u32 = 28; |
|
pub const _SC_PAGESIZE: u32 = 29; |
|
pub const _SC_MEMLOCK: u32 = 30; |
|
pub const _SC_MEMLOCK_RANGE: u32 = 31; |
|
pub const _SC_MEMORY_PROTECTION: u32 = 32; |
|
pub const _SC_MESSAGE_PASSING: u32 = 33; |
|
pub const _SC_PRIORITIZED_IO: u32 = 34; |
|
pub const _SC_PRIORITY_SCHEDULING: u32 = 35; |
|
pub const _SC_REALTIME_SIGNALS: u32 = 36; |
|
pub const _SC_SEMAPHORES: u32 = 37; |
|
pub const _SC_FSYNC: u32 = 38; |
|
pub const _SC_SHARED_MEMORY_OBJECTS: u32 = 39; |
|
pub const _SC_SYNCHRONIZED_IO: u32 = 40; |
|
pub const _SC_TIMERS: u32 = 41; |
|
pub const _SC_AIO_LISTIO_MAX: u32 = 42; |
|
pub const _SC_AIO_MAX: u32 = 43; |
|
pub const _SC_AIO_PRIO_DELTA_MAX: u32 = 44; |
|
pub const _SC_DELAYTIMER_MAX: u32 = 45; |
|
pub const _SC_MQ_OPEN_MAX: u32 = 46; |
|
pub const _SC_MAPPED_FILES: u32 = 47; |
|
pub const _SC_RTSIG_MAX: u32 = 48; |
|
pub const _SC_SEM_NSEMS_MAX: u32 = 49; |
|
pub const _SC_SEM_VALUE_MAX: u32 = 50; |
|
pub const _SC_SIGQUEUE_MAX: u32 = 51; |
|
pub const _SC_TIMER_MAX: u32 = 52; |
|
pub const _SC_NPROCESSORS_CONF: u32 = 57; |
|
pub const _SC_NPROCESSORS_ONLN: u32 = 58; |
|
pub const _SC_2_PBS: u32 = 59; |
|
pub const _SC_2_PBS_ACCOUNTING: u32 = 60; |
|
pub const _SC_2_PBS_CHECKPOINT: u32 = 61; |
|
pub const _SC_2_PBS_LOCATE: u32 = 62; |
|
pub const _SC_2_PBS_MESSAGE: u32 = 63; |
|
pub const _SC_2_PBS_TRACK: u32 = 64; |
|
pub const _SC_ADVISORY_INFO: u32 = 65; |
|
pub const _SC_BARRIERS: u32 = 66; |
|
pub const _SC_CLOCK_SELECTION: u32 = 67; |
|
pub const _SC_CPUTIME: u32 = 68; |
|
pub const _SC_FILE_LOCKING: u32 = 69; |
|
pub const _SC_GETGR_R_SIZE_MAX: u32 = 70; |
|
pub const _SC_GETPW_R_SIZE_MAX: u32 = 71; |
|
pub const _SC_HOST_NAME_MAX: u32 = 72; |
|
pub const _SC_LOGIN_NAME_MAX: u32 = 73; |
|
pub const _SC_MONOTONIC_CLOCK: u32 = 74; |
|
pub const _SC_MQ_PRIO_MAX: u32 = 75; |
|
pub const _SC_READER_WRITER_LOCKS: u32 = 76; |
|
pub const _SC_REGEXP: u32 = 77; |
|
pub const _SC_SHELL: u32 = 78; |
|
pub const _SC_SPAWN: u32 = 79; |
|
pub const _SC_SPIN_LOCKS: u32 = 80; |
|
pub const _SC_SPORADIC_SERVER: u32 = 81; |
|
pub const _SC_THREAD_ATTR_STACKADDR: u32 = 82; |
|
pub const _SC_THREAD_ATTR_STACKSIZE: u32 = 83; |
|
pub const _SC_THREAD_CPUTIME: u32 = 84; |
|
pub const _SC_THREAD_DESTRUCTOR_ITERATIONS: u32 = 85; |
|
pub const _SC_THREAD_KEYS_MAX: u32 = 86; |
|
pub const _SC_THREAD_PRIO_INHERIT: u32 = 87; |
|
pub const _SC_THREAD_PRIO_PROTECT: u32 = 88; |
|
pub const _SC_THREAD_PRIORITY_SCHEDULING: u32 = 89; |
|
pub const _SC_THREAD_PROCESS_SHARED: u32 = 90; |
|
pub const _SC_THREAD_SAFE_FUNCTIONS: u32 = 91; |
|
pub const _SC_THREAD_SPORADIC_SERVER: u32 = 92; |
|
pub const _SC_THREAD_STACK_MIN: u32 = 93; |
|
pub const _SC_THREAD_THREADS_MAX: u32 = 94; |
|
pub const _SC_TIMEOUTS: u32 = 95; |
|
pub const _SC_THREADS: u32 = 96; |
|
pub const _SC_TRACE: u32 = 97; |
|
pub const _SC_TRACE_EVENT_FILTER: u32 = 98; |
|
pub const _SC_TRACE_INHERIT: u32 = 99; |
|
pub const _SC_TRACE_LOG: u32 = 100; |
|
pub const _SC_TTY_NAME_MAX: u32 = 101; |
|
pub const _SC_TYPED_MEMORY_OBJECTS: u32 = 102; |
|
pub const _SC_V6_ILP32_OFF32: u32 = 103; |
|
pub const _SC_V6_ILP32_OFFBIG: u32 = 104; |
|
pub const _SC_V6_LP64_OFF64: u32 = 105; |
|
pub const _SC_V6_LPBIG_OFFBIG: u32 = 106; |
|
pub const _SC_IPV6: u32 = 118; |
|
pub const _SC_RAW_SOCKETS: u32 = 119; |
|
pub const _SC_SYMLOOP_MAX: u32 = 120; |
|
pub const _SC_ATEXIT_MAX: u32 = 107; |
|
pub const _SC_IOV_MAX: u32 = 56; |
|
pub const _SC_PAGE_SIZE: u32 = 29; |
|
pub const _SC_XOPEN_CRYPT: u32 = 108; |
|
pub const _SC_XOPEN_ENH_I18N: u32 = 109; |
|
pub const _SC_XOPEN_LEGACY: u32 = 110; |
|
pub const _SC_XOPEN_REALTIME: u32 = 111; |
|
pub const _SC_XOPEN_REALTIME_THREADS: u32 = 112; |
|
pub const _SC_XOPEN_SHM: u32 = 113; |
|
pub const _SC_XOPEN_STREAMS: u32 = 114; |
|
pub const _SC_XOPEN_UNIX: u32 = 115; |
|
pub const _SC_XOPEN_VERSION: u32 = 116; |
|
pub const _SC_XOPEN_XCU_VERSION: u32 = 121; |
|
pub const _SC_XBS5_ILP32_OFF32: u32 = 122; |
|
pub const _SC_XBS5_ILP32_OFFBIG: u32 = 123; |
|
pub const _SC_XBS5_LP64_OFF64: u32 = 124; |
|
pub const _SC_XBS5_LPBIG_OFFBIG: u32 = 125; |
|
pub const _SC_SS_REPL_MAX: u32 = 126; |
|
pub const _SC_TRACE_EVENT_NAME_MAX: u32 = 127; |
|
pub const _SC_TRACE_NAME_MAX: u32 = 128; |
|
pub const _SC_TRACE_SYS_MAX: u32 = 129; |
|
pub const _SC_TRACE_USER_EVENT_MAX: u32 = 130; |
|
pub const _SC_PASS_MAX: u32 = 131; |
|
pub const _SC_PHYS_PAGES: u32 = 200; |
|
pub const _CS_POSIX_V6_ILP32_OFF32_CFLAGS: u32 = 2; |
|
pub const _CS_POSIX_V6_ILP32_OFF32_LDFLAGS: u32 = 3; |
|
pub const _CS_POSIX_V6_ILP32_OFF32_LIBS: u32 = 4; |
|
pub const _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS: u32 = 5; |
|
pub const _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS: u32 = 6; |
|
pub const _CS_POSIX_V6_ILP32_OFFBIG_LIBS: u32 = 7; |
|
pub const _CS_POSIX_V6_LP64_OFF64_CFLAGS: u32 = 8; |
|
pub const _CS_POSIX_V6_LP64_OFF64_LDFLAGS: u32 = 9; |
|
pub const _CS_POSIX_V6_LP64_OFF64_LIBS: u32 = 10; |
|
pub const _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS: u32 = 11; |
|
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS: u32 = 12; |
|
pub const _CS_POSIX_V6_LPBIG_OFFBIG_LIBS: u32 = 13; |
|
pub const _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS: u32 = 14; |
|
pub const _CS_XBS5_ILP32_OFF32_CFLAGS: u32 = 20; |
|
pub const _CS_XBS5_ILP32_OFF32_LDFLAGS: u32 = 21; |
|
pub const _CS_XBS5_ILP32_OFF32_LIBS: u32 = 22; |
|
pub const _CS_XBS5_ILP32_OFF32_LINTFLAGS: u32 = 23; |
|
pub const _CS_XBS5_ILP32_OFFBIG_CFLAGS: u32 = 24; |
|
pub const _CS_XBS5_ILP32_OFFBIG_LDFLAGS: u32 = 25; |
|
pub const _CS_XBS5_ILP32_OFFBIG_LIBS: u32 = 26; |
|
pub const _CS_XBS5_ILP32_OFFBIG_LINTFLAGS: u32 = 27; |
|
pub const _CS_XBS5_LP64_OFF64_CFLAGS: u32 = 28; |
|
pub const _CS_XBS5_LP64_OFF64_LDFLAGS: u32 = 29; |
|
pub const _CS_XBS5_LP64_OFF64_LIBS: u32 = 30; |
|
pub const _CS_XBS5_LP64_OFF64_LINTFLAGS: u32 = 31; |
|
pub const _CS_XBS5_LPBIG_OFFBIG_CFLAGS: u32 = 32; |
|
pub const _CS_XBS5_LPBIG_OFFBIG_LDFLAGS: u32 = 33; |
|
pub const _CS_XBS5_LPBIG_OFFBIG_LIBS: u32 = 34; |
|
pub const _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS: u32 = 35; |
|
pub const _CS_DARWIN_USER_DIR: u32 = 65536; |
|
pub const _CS_DARWIN_USER_TEMP_DIR: u32 = 65537; |
|
pub const _CS_DARWIN_USER_CACHE_DIR: u32 = 65538; |
|
pub const F_ULOCK: u32 = 0; |
|
pub const F_LOCK: u32 = 1; |
|
pub const F_TLOCK: u32 = 2; |
|
pub const F_TEST: u32 = 3; |
|
pub const __DARWIN_FD_SETSIZE: u32 = 1024; |
|
pub const __DARWIN_NBBY: u32 = 8; |
|
pub const FD_SETSIZE: u32 = 1024; |
|
pub const SYNC_VOLUME_FULLSYNC: u32 = 1; |
|
pub const SYNC_VOLUME_WAIT: u32 = 2; |
|
pub const ZTS_SOCK_STREAM: u32 = 1; |
|
pub const ZTS_SOCK_DGRAM: u32 = 2; |
|
pub const ZTS_SOCK_RAW: u32 = 3; |
|
pub const ZTS_AF_UNSPEC: u32 = 0; |
|
pub const ZTS_AF_INET: u32 = 2; |
|
pub const ZTS_AF_INET6: u32 = 10; |
|
pub const ZTS_PF_INET: u32 = 2; |
|
pub const ZTS_PF_INET6: u32 = 10; |
|
pub const ZTS_PF_UNSPEC: u32 = 0; |
|
pub const ZTS_IPPROTO_IP: u32 = 0; |
|
pub const ZTS_IPPROTO_ICMP: u32 = 1; |
|
pub const ZTS_IPPROTO_TCP: u32 = 6; |
|
pub const ZTS_IPPROTO_UDP: u32 = 17; |
|
pub const ZTS_IPPROTO_IPV6: u32 = 41; |
|
pub const ZTS_IPPROTO_ICMPV6: u32 = 58; |
|
pub const ZTS_IPPROTO_UDPLITE: u32 = 136; |
|
pub const ZTS_IPPROTO_RAW: u32 = 255; |
|
pub const ZTS_MSG_PEEK: u32 = 1; |
|
pub const ZTS_MSG_WAITALL: u32 = 2; |
|
pub const ZTS_MSG_OOB: u32 = 4; |
|
pub const ZTS_MSG_DONTWAIT: u32 = 8; |
|
pub const ZTS_MSG_MORE: u32 = 16; |
|
pub const ZTS_IOCPARM_MASK: u32 = 127; |
|
pub const ZTS_IOC_VOID: u32 = 536870912; |
|
pub const ZTS_IOC_OUT: u32 = 1073741824; |
|
pub const ZTS_IOC_IN: u32 = 2147483648; |
|
pub const ZTS_IOC_INOUT: u32 = 3221225472; |
|
pub const SIN_ZERO_LEN: u32 = 8; |
|
pub const ZTS_MAX_NUM_ROOTS: u32 = 16; |
|
pub const ZTS_MAX_ENDPOINTS_PER_ROOT: u32 = 32; |
|
pub const ZTS_DISABLE_CENTRAL_API: u32 = 1; |
|
pub const ZTS_ID_STR_BUF_LEN: u32 = 384; |
|
pub const ZTS_SOL_SOCKET: u32 = 4095; |
|
pub const ZTS_SO_DEBUG: u32 = 1; |
|
pub const ZTS_SO_ACCEPTCONN: u32 = 2; |
|
pub const ZTS_SO_REUSEADDR: u32 = 4; |
|
pub const ZTS_SO_KEEPALIVE: u32 = 8; |
|
pub const ZTS_SO_DONTROUTE: u32 = 16; |
|
pub const ZTS_SO_BROADCAST: u32 = 32; |
|
pub const ZTS_SO_USELOOPBACK: u32 = 64; |
|
pub const ZTS_SO_LINGER: u32 = 128; |
|
pub const ZTS_SO_OOBINLINE: u32 = 256; |
|
pub const ZTS_SO_REUSEPORT: u32 = 512; |
|
pub const ZTS_SO_SNDBUF: u32 = 4097; |
|
pub const ZTS_SO_RCVBUF: u32 = 4098; |
|
pub const ZTS_SO_SNDLOWAT: u32 = 4099; |
|
pub const ZTS_SO_RCVLOWAT: u32 = 4100; |
|
pub const ZTS_SO_SNDTIMEO: u32 = 4101; |
|
pub const ZTS_SO_RCVTIMEO: u32 = 4102; |
|
pub const ZTS_SO_ERROR: u32 = 4103; |
|
pub const ZTS_SO_TYPE: u32 = 4104; |
|
pub const ZTS_SO_CONTIMEO: u32 = 4105; |
|
pub const ZTS_SO_NO_CHECK: u32 = 4106; |
|
pub const ZTS_SO_BINDTODEVICE: u32 = 4107; |
|
pub const ZTS_IP_TOS: u32 = 1; |
|
pub const ZTS_IP_TTL: u32 = 2; |
|
pub const ZTS_IP_PKTINFO: u32 = 8; |
|
pub const ZTS_TCP_NODELAY: u32 = 1; |
|
pub const ZTS_TCP_KEEPALIVE: u32 = 2; |
|
pub const ZTS_TCP_KEEPIDLE: u32 = 3; |
|
pub const ZTS_TCP_KEEPINTVL: u32 = 4; |
|
pub const ZTS_TCP_KEEPCNT: u32 = 5; |
|
pub const ZTS_IPV6_CHECKSUM: u32 = 7; |
|
pub const ZTS_IPV6_V6ONLY: u32 = 27; |
|
pub const ZTS_UDPLITE_SEND_CSCOV: u32 = 1; |
|
pub const ZTS_UDPLITE_RECV_CSCOV: u32 = 2; |
|
pub const ZTS_IP_MULTICAST_TTL: u32 = 5; |
|
pub const ZTS_IP_MULTICAST_IF: u32 = 6; |
|
pub const ZTS_IP_MULTICAST_LOOP: u32 = 7; |
|
pub const ZTS_IP_ADD_MEMBERSHIP: u32 = 3; |
|
pub const ZTS_IP_DROP_MEMBERSHIP: u32 = 4; |
|
pub const ZTS_IPV6_JOIN_GROUP: u32 = 12; |
|
pub const ZTS_IPV6_ADD_MEMBERSHIP: u32 = 12; |
|
pub const ZTS_IPV6_LEAVE_GROUP: u32 = 13; |
|
pub const ZTS_IPV6_DROP_MEMBERSHIP: u32 = 13; |
|
pub const ZTS_IPTOS_TOS_MASK: u32 = 30; |
|
pub const ZTS_IPTOS_LOWDELAY: u32 = 16; |
|
pub const ZTS_IPTOS_THROUGHPUT: u32 = 8; |
|
pub const ZTS_IPTOS_RELIABILITY: u32 = 4; |
|
pub const ZTS_IPTOS_LOWCOST: u32 = 2; |
|
pub const ZTS_IPTOS_MINCOST: u32 = 2; |
|
pub const ZTS_IPTOS_PREC_MASK: u32 = 224; |
|
pub const ZTS_IPTOS_PREC_NETCONTROL: u32 = 224; |
|
pub const ZTS_IPTOS_PREC_INTERNETCONTROL: u32 = 192; |
|
pub const ZTS_IPTOS_PREC_CRITIC_ECP: u32 = 160; |
|
pub const ZTS_IPTOS_PREC_FLASHOVERRIDE: u32 = 128; |
|
pub const ZTS_IPTOS_PREC_FLASH: u32 = 96; |
|
pub const ZTS_IPTOS_PREC_IMMEDIATE: u32 = 64; |
|
pub const ZTS_IPTOS_PREC_PRIORITY: u32 = 32; |
|
pub const ZTS_IPTOS_PREC_ROUTINE: u32 = 0; |
|
pub const LWIP_SOCKET_OFFSET: u32 = 0; |
|
pub const MEMP_NUM_NETCONN: u32 = 1024; |
|
pub const ZTS_FD_SETSIZE: u32 = 1024; |
|
pub const ZTS_F_GETFL: u32 = 3; |
|
pub const ZTS_F_SETFL: u32 = 4; |
|
pub const ZTS_O_NONBLOCK: u32 = 1; |
|
pub const ZTS_O_NDELAY: u32 = 1; |
|
pub const ZTS_O_RDONLY: u32 = 2; |
|
pub const ZTS_O_WRONLY: u32 = 4; |
|
pub const ZTS_O_RDWR: u32 = 6; |
|
pub const ZTS_POLLIN: u32 = 1; |
|
pub const ZTS_POLLOUT: u32 = 2; |
|
pub const ZTS_POLLERR: u32 = 4; |
|
pub const ZTS_POLLNVAL: u32 = 8; |
|
pub const ZTS_POLLRDNORM: u32 = 16; |
|
pub const ZTS_POLLRDBAND: u32 = 32; |
|
pub const ZTS_POLLPRI: u32 = 64; |
|
pub const ZTS_POLLWRNORM: u32 = 128; |
|
pub const ZTS_POLLWRBAND: u32 = 256; |
|
pub const ZTS_POLLHUP: u32 = 512; |
|
pub const ZTS_MSG_TRUNC: u32 = 4; |
|
pub const ZTS_MSG_CTRUNC: u32 = 8; |
|
pub const ZTS_SHUT_RD: u32 = 0; |
|
pub const ZTS_SHUT_WR: u32 = 1; |
|
pub const ZTS_SHUT_RDWR: u32 = 2; |
|
#[doc = " No error"] |
|
pub const zts_error_t_ZTS_ERR_OK: zts_error_t = 0; |
|
#[doc = " Socket error, see `zts_errno`"] |
|
pub const zts_error_t_ZTS_ERR_SOCKET: zts_error_t = -1; |
|
#[doc = " This operation is not allowed at this time. Or possibly the node hasn't been started"] |
|
pub const zts_error_t_ZTS_ERR_SERVICE: zts_error_t = -2; |
|
#[doc = " Invalid argument"] |
|
pub const zts_error_t_ZTS_ERR_ARG: zts_error_t = -3; |
|
#[doc = " No result (not necessarily an error)"] |
|
pub const zts_error_t_ZTS_ERR_NO_RESULT: zts_error_t = -4; |
|
#[doc = " Consider filing a bug report"] |
|
pub const zts_error_t_ZTS_ERR_GENERAL: zts_error_t = -5; |
|
#[doc = " Common error return values"] |
|
pub type zts_error_t = ::std::os::raw::c_int; |
|
#[doc = " Node has been initialized"] |
|
#[doc = ""] |
|
#[doc = " This is the first event generated, and is always sent. It may occur"] |
|
#[doc = " before node's constructor returns."] |
|
#[doc = ""] |
|
pub const zts_event_t_ZTS_EVENT_NODE_UP: zts_event_t = 200; |
|
#[doc = " Node is online -- at least one upstream node appears reachable"] |
|
#[doc = ""] |
|
pub const zts_event_t_ZTS_EVENT_NODE_ONLINE: zts_event_t = 201; |
|
#[doc = " Node is offline -- network does not seem to be reachable by any available"] |
|
#[doc = " strategy"] |
|
#[doc = ""] |
|
pub const zts_event_t_ZTS_EVENT_NODE_OFFLINE: zts_event_t = 202; |
|
#[doc = " Node is shutting down"] |
|
#[doc = ""] |
|
#[doc = " This is generated within Node's destructor when it is being shut down."] |
|
#[doc = " It's done for convenience, since cleaning up other state in the event"] |
|
#[doc = " handler may appear more idiomatic."] |
|
#[doc = ""] |
|
pub const zts_event_t_ZTS_EVENT_NODE_DOWN: zts_event_t = 203; |
|
#[doc = " A fatal error has occurred. One possible reason is:"] |
|
#[doc = ""] |
|
#[doc = " Your identity has collided with another node's ZeroTier address"] |
|
#[doc = ""] |
|
#[doc = " This happens if two different public keys both hash (via the algorithm"] |
|
#[doc = " in Identity::generate()) to the same 40-bit ZeroTier address."] |
|
#[doc = ""] |
|
#[doc = " This is something you should \"never\" see, where \"never\" is defined as"] |
|
#[doc = " once per 2^39 new node initializations / identity creations. If you do"] |
|
#[doc = " see it, you're going to see it very soon after a node is first"] |
|
#[doc = " initialized."] |
|
#[doc = ""] |
|
#[doc = " This is reported as an event rather than a return code since it's"] |
|
#[doc = " detected asynchronously via error messages from authoritative nodes."] |
|
#[doc = ""] |
|
#[doc = " If this occurs, you must shut down and delete the node, delete the"] |
|
#[doc = " identity.secret record/file from the data store, and restart to generate"] |
|
#[doc = " a new identity. If you don't do this, you will not be able to communicate"] |
|
#[doc = " with other nodes."] |
|
#[doc = ""] |
|
#[doc = " We'd automate this process, but we don't think silently deleting"] |
|
#[doc = " private keys or changing our address without telling the calling code"] |
|
#[doc = " is good form. It violates the principle of least surprise."] |
|
#[doc = ""] |
|
#[doc = " You can technically get away with not handling this, but we recommend"] |
|
#[doc = " doing so in a mature reliable application. Besides, handling this"] |
|
#[doc = " condition is a good way to make sure it never arises. It's like how"] |
|
#[doc = " umbrellas prevent rain and smoke detectors prevent fires. They do, right?"] |
|
#[doc = ""] |
|
#[doc = " Meta-data: none"] |
|
pub const zts_event_t_ZTS_EVENT_NODE_FATAL_ERROR: zts_event_t = 204; |
|
#[doc = " Network ID does not correspond to a known network"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_NOT_FOUND: zts_event_t = 210; |
|
#[doc = " The version of ZeroTier inside libzt is too old"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_CLIENT_TOO_OLD: zts_event_t = 211; |
|
#[doc = " The configuration for a network has been requested (no action needed)"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_REQ_CONFIG: zts_event_t = 212; |
|
#[doc = " The node joined the network successfully (no action needed)"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_OK: zts_event_t = 213; |
|
#[doc = " The node is not allowed to join the network (you must authorize node)"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_ACCESS_DENIED: zts_event_t = 214; |
|
#[doc = " The node has received an IPv4 address from the network controller"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_READY_IP4: zts_event_t = 215; |
|
#[doc = " The node has received an IPv6 address from the network controller"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_READY_IP6: zts_event_t = 216; |
|
#[doc = " Deprecated"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_READY_IP4_IP6: zts_event_t = 217; |
|
#[doc = " Network controller is unreachable"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_DOWN: zts_event_t = 218; |
|
#[doc = " Network change received from controller"] |
|
pub const zts_event_t_ZTS_EVENT_NETWORK_UPDATE: zts_event_t = 219; |
|
#[doc = " TCP/IP stack (lwIP) is up (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_STACK_UP: zts_event_t = 220; |
|
#[doc = " TCP/IP stack (lwIP) id down (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_STACK_DOWN: zts_event_t = 221; |
|
#[doc = " lwIP netif up (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_NETIF_UP: zts_event_t = 230; |
|
#[doc = " lwIP netif down (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_NETIF_DOWN: zts_event_t = 231; |
|
#[doc = " lwIP netif removed (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_NETIF_REMOVED: zts_event_t = 232; |
|
#[doc = " lwIP netif link up (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_NETIF_LINK_UP: zts_event_t = 233; |
|
#[doc = " lwIP netif link down (for debug purposes)"] |
|
pub const zts_event_t_ZTS_EVENT_NETIF_LINK_DOWN: zts_event_t = 234; |
|
#[doc = " A direct P2P path to peer is known"] |
|
pub const zts_event_t_ZTS_EVENT_PEER_DIRECT: zts_event_t = 240; |
|
#[doc = " A direct P2P path to peer is NOT known. Traffic is now relayed"] |
|
pub const zts_event_t_ZTS_EVENT_PEER_RELAY: zts_event_t = 241; |
|
#[doc = " A peer is unreachable. Check NAT/Firewall settings"] |
|
pub const zts_event_t_ZTS_EVENT_PEER_UNREACHABLE: zts_event_t = 242; |
|
#[doc = " A new path to a peer was discovered"] |
|
pub const zts_event_t_ZTS_EVENT_PEER_PATH_DISCOVERED: zts_event_t = 243; |
|
#[doc = " A known path to a peer is now considered dead"] |
|
pub const zts_event_t_ZTS_EVENT_PEER_PATH_DEAD: zts_event_t = 244; |
|
#[doc = " A new managed network route was added"] |
|
pub const zts_event_t_ZTS_EVENT_ROUTE_ADDED: zts_event_t = 250; |
|
#[doc = " A managed network route was removed"] |
|
pub const zts_event_t_ZTS_EVENT_ROUTE_REMOVED: zts_event_t = 251; |
|
#[doc = " A new managed IPv4 address was assigned to this peer"] |
|
pub const zts_event_t_ZTS_EVENT_ADDR_ADDED_IP4: zts_event_t = 260; |
|
#[doc = " A managed IPv4 address assignment was removed from this peer"] |
|
pub const zts_event_t_ZTS_EVENT_ADDR_REMOVED_IP4: zts_event_t = 261; |
|
#[doc = " A new managed IPv4 address was assigned to this peer"] |
|
pub const zts_event_t_ZTS_EVENT_ADDR_ADDED_IP6: zts_event_t = 262; |
|
#[doc = " A managed IPv6 address assignment was removed from this peer"] |
|
pub const zts_event_t_ZTS_EVENT_ADDR_REMOVED_IP6: zts_event_t = 263; |
|
#[doc = " The node's secret key (identity)"] |
|
pub const zts_event_t_ZTS_EVENT_STORE_IDENTITY_SECRET: zts_event_t = 270; |
|
#[doc = " The node's public key (identity)"] |
|
pub const zts_event_t_ZTS_EVENT_STORE_IDENTITY_PUBLIC: zts_event_t = 271; |
|
#[doc = " The node has received an updated planet config"] |
|
pub const zts_event_t_ZTS_EVENT_STORE_PLANET: zts_event_t = 272; |
|
#[doc = " New reachability hints and peer configuration"] |
|
pub const zts_event_t_ZTS_EVENT_STORE_PEER: zts_event_t = 273; |
|
#[doc = " New network config"] |
|
pub const zts_event_t_ZTS_EVENT_STORE_NETWORK: zts_event_t = 274; |
|
#[doc = " Event codes used by the (optional) callback API"] |
|
pub type zts_event_t = ::std::os::raw::c_uint; |
|
extern "C" { |
|
pub static mut zts_errno: ::std::os::raw::c_int; |
|
} |
|
#[doc = " Operation not permitted"] |
|
pub const zts_errno_t_ZTS_EPERM: zts_errno_t = 1; |
|
#[doc = " No such file or directory"] |
|
pub const zts_errno_t_ZTS_ENOENT: zts_errno_t = 2; |
|
#[doc = " No such process"] |
|
pub const zts_errno_t_ZTS_ESRCH: zts_errno_t = 3; |
|
#[doc = " Interrupted system call"] |
|
pub const zts_errno_t_ZTS_EINTR: zts_errno_t = 4; |
|
#[doc = " I/O error"] |
|
pub const zts_errno_t_ZTS_EIO: zts_errno_t = 5; |
|
#[doc = " No such device or address"] |
|
pub const zts_errno_t_ZTS_ENXIO: zts_errno_t = 6; |
|
#[doc = " Bad file number"] |
|
pub const zts_errno_t_ZTS_EBADF: zts_errno_t = 9; |
|
#[doc = " Try again"] |
|
pub const zts_errno_t_ZTS_EAGAIN: zts_errno_t = 11; |
|
#[doc = " Operation would block"] |
|
pub const zts_errno_t_ZTS_EWOULDBLOCK: zts_errno_t = 11; |
|
#[doc = " Out of memory"] |
|
pub const zts_errno_t_ZTS_ENOMEM: zts_errno_t = 12; |
|
#[doc = " Permission denied"] |
|
pub const zts_errno_t_ZTS_EACCES: zts_errno_t = 13; |
|
#[doc = " Bad address"] |
|
pub const zts_errno_t_ZTS_EFAULT: zts_errno_t = 14; |
|
#[doc = " Device or resource busy"] |
|
pub const zts_errno_t_ZTS_EBUSY: zts_errno_t = 16; |
|
#[doc = " File exists"] |
|
pub const zts_errno_t_ZTS_EEXIST: zts_errno_t = 17; |
|
#[doc = " No such device"] |
|
pub const zts_errno_t_ZTS_ENODEV: zts_errno_t = 19; |
|
#[doc = " Invalid argument"] |
|
pub const zts_errno_t_ZTS_EINVAL: zts_errno_t = 22; |
|
#[doc = " File table overflow"] |
|
pub const zts_errno_t_ZTS_ENFILE: zts_errno_t = 23; |
|
#[doc = " Too many open files"] |
|
pub const zts_errno_t_ZTS_EMFILE: zts_errno_t = 24; |
|
#[doc = " Function not implemented"] |
|
pub const zts_errno_t_ZTS_ENOSYS: zts_errno_t = 38; |
|
#[doc = " Socket operation on non-socket"] |
|
pub const zts_errno_t_ZTS_ENOTSOCK: zts_errno_t = 88; |
|
#[doc = " Destination address required"] |
|
pub const zts_errno_t_ZTS_EDESTADDRREQ: zts_errno_t = 89; |
|
#[doc = " Message too long"] |
|
pub const zts_errno_t_ZTS_EMSGSIZE: zts_errno_t = 90; |
|
#[doc = " Protocol wrong type for socket"] |
|
pub const zts_errno_t_ZTS_EPROTOTYPE: zts_errno_t = 91; |
|
#[doc = " Protocol not available"] |
|
pub const zts_errno_t_ZTS_ENOPROTOOPT: zts_errno_t = 92; |
|
#[doc = " Protocol not supported"] |
|
pub const zts_errno_t_ZTS_EPROTONOSUPPORT: zts_errno_t = 93; |
|
#[doc = " Socket type not supported"] |
|
pub const zts_errno_t_ZTS_ESOCKTNOSUPPORT: zts_errno_t = 94; |
|
#[doc = " Operation not supported on transport endpoint"] |
|
pub const zts_errno_t_ZTS_EOPNOTSUPP: zts_errno_t = 95; |
|
#[doc = " Protocol family not supported"] |
|
pub const zts_errno_t_ZTS_EPFNOSUPPORT: zts_errno_t = 96; |
|
#[doc = " Address family not supported by protocol"] |
|
pub const zts_errno_t_ZTS_EAFNOSUPPORT: zts_errno_t = 97; |
|
#[doc = " Address already in use"] |
|
pub const zts_errno_t_ZTS_EADDRINUSE: zts_errno_t = 98; |
|
#[doc = " Cannot assign requested address"] |
|
pub const zts_errno_t_ZTS_EADDRNOTAVAIL: zts_errno_t = 99; |
|
#[doc = " Network is down"] |
|
pub const zts_errno_t_ZTS_ENETDOWN: zts_errno_t = 100; |
|
#[doc = " Network is unreachable"] |
|
pub const zts_errno_t_ZTS_ENETUNREACH: zts_errno_t = 101; |
|
#[doc = " Software caused connection abort"] |
|
pub const zts_errno_t_ZTS_ECONNABORTED: zts_errno_t = 103; |
|
#[doc = " Connection reset by peer"] |
|
pub const zts_errno_t_ZTS_ECONNRESET: zts_errno_t = 104; |
|
#[doc = " No buffer space available"] |
|
pub const zts_errno_t_ZTS_ENOBUFS: zts_errno_t = 105; |
|
#[doc = " Transport endpoint is already connected"] |
|
pub const zts_errno_t_ZTS_EISCONN: zts_errno_t = 106; |
|
#[doc = " Transport endpoint is not connected"] |
|
pub const zts_errno_t_ZTS_ENOTCONN: zts_errno_t = 107; |
|
#[doc = " Connection timed out"] |
|
pub const zts_errno_t_ZTS_ETIMEDOUT: zts_errno_t = 110; |
|
#[doc = " Connection timed out"] |
|
pub const zts_errno_t_ZTS_ECONNREFUSED: zts_errno_t = 111; |
|
#[doc = " No route to host"] |
|
pub const zts_errno_t_ZTS_EHOSTUNREACH: zts_errno_t = 113; |
|
#[doc = " Operation already in progress"] |
|
pub const zts_errno_t_ZTS_EALREADY: zts_errno_t = 114; |
|
#[doc = " Operation now in progress"] |
|
pub const zts_errno_t_ZTS_EINPROGRESS: zts_errno_t = 115; |
|
pub type zts_errno_t = ::std::os::raw::c_uint; |
|
pub type int_least8_t = i8; |
|
pub type int_least16_t = i16; |
|
pub type int_least32_t = i32; |
|
pub type int_least64_t = i64; |
|
pub type uint_least8_t = u8; |
|
pub type uint_least16_t = u16; |
|
pub type uint_least32_t = u32; |
|
pub type uint_least64_t = u64; |
|
pub type int_fast8_t = i8; |
|
pub type int_fast16_t = i16; |
|
pub type int_fast32_t = i32; |
|
pub type int_fast64_t = i64; |
|
pub type uint_fast8_t = u8; |
|
pub type uint_fast16_t = u16; |
|
pub type uint_fast32_t = u32; |
|
pub type uint_fast64_t = u64; |
|
pub type __int8_t = ::std::os::raw::c_schar; |
|
pub type __uint8_t = ::std::os::raw::c_uchar; |
|
pub type __int16_t = ::std::os::raw::c_short; |
|
pub type __uint16_t = ::std::os::raw::c_ushort; |
|
pub type __int32_t = ::std::os::raw::c_int; |
|
pub type __uint32_t = ::std::os::raw::c_uint; |
|
pub type __int64_t = ::std::os::raw::c_longlong; |
|
pub type __uint64_t = ::std::os::raw::c_ulonglong; |
|
pub type __darwin_intptr_t = ::std::os::raw::c_long; |
|
pub type __darwin_natural_t = ::std::os::raw::c_uint; |
|
pub type __darwin_ct_rune_t = ::std::os::raw::c_int; |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub union __mbstate_t { |
|
pub __mbstate8: [::std::os::raw::c_char; 128usize], |
|
pub _mbstateL: ::std::os::raw::c_longlong, |
|
_bindgen_union_align: [u64; 16usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout___mbstate_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<__mbstate_t>(), |
|
128usize, |
|
concat!("Size of: ", stringify!(__mbstate_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<__mbstate_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(__mbstate_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__mbstate_t>())).__mbstate8 as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__mbstate_t), |
|
"::", |
|
stringify!(__mbstate8) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__mbstate_t>()))._mbstateL as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__mbstate_t), |
|
"::", |
|
stringify!(_mbstateL) |
|
) |
|
); |
|
} |
|
pub type __darwin_mbstate_t = __mbstate_t; |
|
pub type __darwin_ptrdiff_t = ::std::os::raw::c_long; |
|
pub type __darwin_size_t = ::std::os::raw::c_ulong; |
|
pub type __darwin_va_list = __builtin_va_list; |
|
pub type __darwin_wchar_t = ::std::os::raw::c_int; |
|
pub type __darwin_rune_t = __darwin_wchar_t; |
|
pub type __darwin_wint_t = ::std::os::raw::c_int; |
|
pub type __darwin_clock_t = ::std::os::raw::c_ulong; |
|
pub type __darwin_socklen_t = __uint32_t; |
|
pub type __darwin_ssize_t = ::std::os::raw::c_long; |
|
pub type __darwin_time_t = ::std::os::raw::c_long; |
|
pub type __darwin_blkcnt_t = __int64_t; |
|
pub type __darwin_blksize_t = __int32_t; |
|
pub type __darwin_dev_t = __int32_t; |
|
pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint; |
|
pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint; |
|
pub type __darwin_gid_t = __uint32_t; |
|
pub type __darwin_id_t = __uint32_t; |
|
pub type __darwin_ino64_t = __uint64_t; |
|
pub type __darwin_ino_t = __darwin_ino64_t; |
|
pub type __darwin_mach_port_name_t = __darwin_natural_t; |
|
pub type __darwin_mach_port_t = __darwin_mach_port_name_t; |
|
pub type __darwin_mode_t = __uint16_t; |
|
pub type __darwin_off_t = __int64_t; |
|
pub type __darwin_pid_t = __int32_t; |
|
pub type __darwin_sigset_t = __uint32_t; |
|
pub type __darwin_suseconds_t = __int32_t; |
|
pub type __darwin_uid_t = __uint32_t; |
|
pub type __darwin_useconds_t = __uint32_t; |
|
pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize]; |
|
pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize]; |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct __darwin_pthread_handler_rec { |
|
pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>, |
|
pub __arg: *mut ::std::os::raw::c_void, |
|
pub __next: *mut __darwin_pthread_handler_rec, |
|
} |
|
#[test] |
|
fn bindgen_test_layout___darwin_pthread_handler_rec() { |
|
assert_eq!( |
|
::std::mem::size_of::<__darwin_pthread_handler_rec>(), |
|
24usize, |
|
concat!("Size of: ", stringify!(__darwin_pthread_handler_rec)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<__darwin_pthread_handler_rec>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(__darwin_pthread_handler_rec)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__routine as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__darwin_pthread_handler_rec), |
|
"::", |
|
stringify!(__routine) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__arg as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__darwin_pthread_handler_rec), |
|
"::", |
|
stringify!(__arg) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<__darwin_pthread_handler_rec>())).__next as *const _ as usize |
|
}, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__darwin_pthread_handler_rec), |
|
"::", |
|
stringify!(__next) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct _opaque_pthread_attr_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 56usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_attr_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_attr_t>(), |
|
64usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_attr_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_attr_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_attr_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_attr_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_attr_t>())).__opaque as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_attr_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct _opaque_pthread_cond_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 40usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_cond_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_cond_t>(), |
|
48usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_cond_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_cond_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_cond_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_cond_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_cond_t>())).__opaque as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_cond_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct _opaque_pthread_condattr_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 8usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_condattr_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_condattr_t>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_condattr_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_condattr_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_condattr_t)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__sig as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_condattr_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_condattr_t>())).__opaque as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_condattr_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct _opaque_pthread_mutex_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 56usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_mutex_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_mutex_t>(), |
|
64usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_mutex_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_mutex_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_mutex_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_mutex_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_mutex_t>())).__opaque as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_mutex_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct _opaque_pthread_mutexattr_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 8usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_mutexattr_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_mutexattr_t>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_mutexattr_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_mutexattr_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_mutexattr_t)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__sig as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_mutexattr_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_mutexattr_t>())).__opaque as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_mutexattr_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct _opaque_pthread_once_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 8usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_once_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_once_t>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_once_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_once_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_once_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_once_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_once_t>())).__opaque as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_once_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct _opaque_pthread_rwlock_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 192usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_rwlock_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_rwlock_t>(), |
|
200usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_rwlock_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_rwlock_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_rwlock_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_rwlock_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_rwlock_t>())).__opaque as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_rwlock_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct _opaque_pthread_rwlockattr_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __opaque: [::std::os::raw::c_char; 16usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_rwlockattr_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_rwlockattr_t>(), |
|
24usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_rwlockattr_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_rwlockattr_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_rwlockattr_t)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__sig as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_rwlockattr_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_rwlockattr_t>())).__opaque as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_rwlockattr_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct _opaque_pthread_t { |
|
pub __sig: ::std::os::raw::c_long, |
|
pub __cleanup_stack: *mut __darwin_pthread_handler_rec, |
|
pub __opaque: [::std::os::raw::c_char; 8176usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout__opaque_pthread_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<_opaque_pthread_t>(), |
|
8192usize, |
|
concat!("Size of: ", stringify!(_opaque_pthread_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<_opaque_pthread_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(_opaque_pthread_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__sig as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_t), |
|
"::", |
|
stringify!(__sig) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<_opaque_pthread_t>())).__cleanup_stack as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_t), |
|
"::", |
|
stringify!(__cleanup_stack) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<_opaque_pthread_t>())).__opaque as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(_opaque_pthread_t), |
|
"::", |
|
stringify!(__opaque) |
|
) |
|
); |
|
} |
|
pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t; |
|
pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t; |
|
pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t; |
|
pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong; |
|
pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t; |
|
pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t; |
|
pub type __darwin_pthread_once_t = _opaque_pthread_once_t; |
|
pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t; |
|
pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t; |
|
pub type __darwin_pthread_t = *mut _opaque_pthread_t; |
|
pub type u_int8_t = ::std::os::raw::c_uchar; |
|
pub type u_int16_t = ::std::os::raw::c_ushort; |
|
pub type u_int32_t = ::std::os::raw::c_uint; |
|
pub type u_int64_t = ::std::os::raw::c_ulonglong; |
|
pub type register_t = i64; |
|
pub type user_addr_t = u_int64_t; |
|
pub type user_size_t = u_int64_t; |
|
pub type user_ssize_t = i64; |
|
pub type user_long_t = i64; |
|
pub type user_ulong_t = u_int64_t; |
|
pub type user_time_t = i64; |
|
pub type user_off_t = i64; |
|
pub type syscall_arg_t = u_int64_t; |
|
pub type intmax_t = ::std::os::raw::c_long; |
|
pub type uintmax_t = ::std::os::raw::c_ulong; |
|
pub type __darwin_nl_item = ::std::os::raw::c_int; |
|
pub type __darwin_wctrans_t = ::std::os::raw::c_int; |
|
pub type __darwin_wctype_t = __uint32_t; |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct accessx_descriptor { |
|
pub ad_name_offset: ::std::os::raw::c_uint, |
|
pub ad_flags: ::std::os::raw::c_int, |
|
pub ad_pad: [::std::os::raw::c_int; 2usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_accessx_descriptor() { |
|
assert_eq!( |
|
::std::mem::size_of::<accessx_descriptor>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(accessx_descriptor)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<accessx_descriptor>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(accessx_descriptor)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<accessx_descriptor>())).ad_name_offset as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(accessx_descriptor), |
|
"::", |
|
stringify!(ad_name_offset) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<accessx_descriptor>())).ad_flags as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(accessx_descriptor), |
|
"::", |
|
stringify!(ad_flags) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<accessx_descriptor>())).ad_pad as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(accessx_descriptor), |
|
"::", |
|
stringify!(ad_pad) |
|
) |
|
); |
|
} |
|
pub type size_t = __darwin_size_t; |
|
extern "C" { |
|
pub fn getattrlistbulk( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: u64, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getattrlistat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: *mut ::std::os::raw::c_void, |
|
arg5: size_t, |
|
arg6: ::std::os::raw::c_ulong, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setattrlistat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: *mut ::std::os::raw::c_void, |
|
arg5: size_t, |
|
arg6: u32, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
pub type ssize_t = __darwin_ssize_t; |
|
pub type uid_t = __darwin_uid_t; |
|
pub type gid_t = __darwin_gid_t; |
|
extern "C" { |
|
pub fn faccessat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: ::std::os::raw::c_int, |
|
arg4: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fchownat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: uid_t, |
|
arg4: gid_t, |
|
arg5: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn linkat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: ::std::os::raw::c_int, |
|
arg4: *const ::std::os::raw::c_char, |
|
arg5: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn readlinkat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: *mut ::std::os::raw::c_char, |
|
arg4: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn symlinkat( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn unlinkat( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
pub type off_t = __darwin_off_t; |
|
pub type pid_t = __darwin_pid_t; |
|
pub type useconds_t = __darwin_useconds_t; |
|
extern "C" { |
|
pub fn _exit(arg1: ::std::os::raw::c_int); |
|
} |
|
extern "C" { |
|
pub fn access( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn alarm(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; |
|
} |
|
extern "C" { |
|
pub fn chdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn chown( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: uid_t, |
|
arg3: gid_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn close(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn dup(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn dup2(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execl( |
|
__path: *const ::std::os::raw::c_char, |
|
__arg0: *const ::std::os::raw::c_char, |
|
... |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execle( |
|
__path: *const ::std::os::raw::c_char, |
|
__arg0: *const ::std::os::raw::c_char, |
|
... |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execlp( |
|
__file: *const ::std::os::raw::c_char, |
|
__arg0: *const ::std::os::raw::c_char, |
|
... |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execv( |
|
__path: *const ::std::os::raw::c_char, |
|
__argv: *const *mut ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execve( |
|
__file: *const ::std::os::raw::c_char, |
|
__argv: *const *mut ::std::os::raw::c_char, |
|
__envp: *const *mut ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn execvp( |
|
__file: *const ::std::os::raw::c_char, |
|
__argv: *const *mut ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fork() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn fpathconf( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_long; |
|
} |
|
extern "C" { |
|
pub fn getcwd(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getegid() -> gid_t; |
|
} |
|
extern "C" { |
|
pub fn geteuid() -> uid_t; |
|
} |
|
extern "C" { |
|
pub fn getgid() -> gid_t; |
|
} |
|
extern "C" { |
|
pub fn getgroups(arg1: ::std::os::raw::c_int, arg2: *mut gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getlogin() -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getpgrp() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn getpid() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn getppid() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn getuid() -> uid_t; |
|
} |
|
extern "C" { |
|
pub fn isatty(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn link( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn lseek(arg1: ::std::os::raw::c_int, arg2: off_t, arg3: ::std::os::raw::c_int) -> off_t; |
|
} |
|
extern "C" { |
|
pub fn pathconf( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_long; |
|
} |
|
extern "C" { |
|
pub fn pause() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn pipe(arg1: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn read( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn rmdir(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setgid(arg1: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setpgid(arg1: pid_t, arg2: pid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setsid() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn setuid(arg1: uid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn sleep(arg1: ::std::os::raw::c_uint) -> ::std::os::raw::c_uint; |
|
} |
|
extern "C" { |
|
pub fn sysconf(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_long; |
|
} |
|
extern "C" { |
|
pub fn tcgetpgrp(arg1: ::std::os::raw::c_int) -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn tcsetpgrp(arg1: ::std::os::raw::c_int, arg2: pid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ttyname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn ttyname_r( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_char, |
|
arg3: size_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn unlink(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn write( |
|
__fd: ::std::os::raw::c_int, |
|
__buf: *const ::std::os::raw::c_void, |
|
__nbyte: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn confstr( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_char, |
|
arg3: size_t, |
|
) -> size_t; |
|
} |
|
extern "C" { |
|
pub fn getopt( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const *mut ::std::os::raw::c_char, |
|
arg3: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub static mut optarg: *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub static mut optind: ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub static mut opterr: ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub static mut optopt: ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ctermid(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn brk(arg1: *const ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void; |
|
} |
|
extern "C" { |
|
pub fn chroot(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn crypt( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *const ::std::os::raw::c_char, |
|
) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn encrypt(arg1: *mut ::std::os::raw::c_char, arg2: ::std::os::raw::c_int); |
|
} |
|
extern "C" { |
|
pub fn fchdir(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn gethostid() -> ::std::os::raw::c_long; |
|
} |
|
extern "C" { |
|
pub fn getpgid(arg1: pid_t) -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn getsid(arg1: pid_t) -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn getdtablesize() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getpagesize() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getpass(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getwd(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn lchown( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: uid_t, |
|
arg3: gid_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn lockf( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: off_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn nice(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn pread( |
|
__fd: ::std::os::raw::c_int, |
|
__buf: *mut ::std::os::raw::c_void, |
|
__nbyte: size_t, |
|
__offset: off_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn pwrite( |
|
__fd: ::std::os::raw::c_int, |
|
__buf: *const ::std::os::raw::c_void, |
|
__nbyte: size_t, |
|
__offset: off_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn sbrk(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_void; |
|
} |
|
extern "C" { |
|
pub fn setpgrp() -> pid_t; |
|
} |
|
extern "C" { |
|
pub fn setregid(arg1: gid_t, arg2: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setreuid(arg1: uid_t, arg2: uid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn swab( |
|
arg1: *const ::std::os::raw::c_void, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: ssize_t, |
|
); |
|
} |
|
extern "C" { |
|
pub fn sync(); |
|
} |
|
extern "C" { |
|
pub fn truncate(arg1: *const ::std::os::raw::c_char, arg2: off_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ualarm(arg1: useconds_t, arg2: useconds_t) -> useconds_t; |
|
} |
|
extern "C" { |
|
pub fn usleep(arg1: useconds_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn vfork() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fsync(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ftruncate(arg1: ::std::os::raw::c_int, arg2: off_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getlogin_r(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fchown(arg1: ::std::os::raw::c_int, arg2: uid_t, arg3: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn gethostname(arg1: *mut ::std::os::raw::c_char, arg2: size_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn readlink( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *mut ::std::os::raw::c_char, |
|
arg3: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
pub fn setegid(arg1: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn seteuid(arg1: uid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn symlink( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct fd_set { |
|
pub fds_bits: [__int32_t; 32usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_fd_set() { |
|
assert_eq!( |
|
::std::mem::size_of::<fd_set>(), |
|
128usize, |
|
concat!("Size of: ", stringify!(fd_set)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<fd_set>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(fd_set)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<fd_set>())).fds_bits as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(fd_set), |
|
"::", |
|
stringify!(fds_bits) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
pub fn __darwin_check_fd_set_overflow( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *const ::std::os::raw::c_void, |
|
arg3: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct timespec { |
|
pub tv_sec: __darwin_time_t, |
|
pub tv_nsec: ::std::os::raw::c_long, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_timespec() { |
|
assert_eq!( |
|
::std::mem::size_of::<timespec>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(timespec)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<timespec>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(timespec)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<timespec>())).tv_sec as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(timespec), |
|
"::", |
|
stringify!(tv_sec) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<timespec>())).tv_nsec as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(timespec), |
|
"::", |
|
stringify!(tv_nsec) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct timeval { |
|
pub tv_sec: __darwin_time_t, |
|
pub tv_usec: __darwin_suseconds_t, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_timeval() { |
|
assert_eq!( |
|
::std::mem::size_of::<timeval>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(timeval)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<timeval>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(timeval)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<timeval>())).tv_sec as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(timeval), |
|
"::", |
|
stringify!(tv_sec) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<timeval>())).tv_usec as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(timeval), |
|
"::", |
|
stringify!(tv_usec) |
|
) |
|
); |
|
} |
|
pub type time_t = __darwin_time_t; |
|
pub type suseconds_t = __darwin_suseconds_t; |
|
pub type sigset_t = __darwin_sigset_t; |
|
extern "C" { |
|
#[link_name = "\u{1}_pselect$1050"] |
|
pub fn pselect( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut fd_set, |
|
arg3: *mut fd_set, |
|
arg4: *mut fd_set, |
|
arg5: *const timespec, |
|
arg6: *const sigset_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[link_name = "\u{1}_select$1050"] |
|
pub fn select( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut fd_set, |
|
arg3: *mut fd_set, |
|
arg4: *mut fd_set, |
|
arg5: *mut timeval, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
pub type dev_t = __darwin_dev_t; |
|
pub type mode_t = __darwin_mode_t; |
|
pub type uuid_t = __darwin_uuid_t; |
|
extern "C" { |
|
pub fn _Exit(arg1: ::std::os::raw::c_int); |
|
} |
|
extern "C" { |
|
pub fn accessx_np( |
|
arg1: *const accessx_descriptor, |
|
arg2: size_t, |
|
arg3: *mut ::std::os::raw::c_int, |
|
arg4: uid_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn acct(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn add_profil( |
|
arg1: *mut ::std::os::raw::c_char, |
|
arg2: size_t, |
|
arg3: ::std::os::raw::c_ulong, |
|
arg4: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn endusershell(); |
|
} |
|
extern "C" { |
|
pub fn execvP( |
|
__file: *const ::std::os::raw::c_char, |
|
__searchpath: *const ::std::os::raw::c_char, |
|
__argv: *const *mut ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fflagstostr(arg1: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getdomainname( |
|
arg1: *mut ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getgrouplist( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *mut ::std::os::raw::c_int, |
|
arg4: *mut ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn gethostuuid( |
|
arg1: *mut ::std::os::raw::c_uchar, |
|
arg2: *const timespec, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getmode(arg1: *const ::std::os::raw::c_void, arg2: mode_t) -> mode_t; |
|
} |
|
extern "C" { |
|
pub fn getpeereid( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut uid_t, |
|
arg3: *mut gid_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getsgroups_np( |
|
arg1: *mut ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_uchar, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getusershell() -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getwgroups_np( |
|
arg1: *mut ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_uchar, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn initgroups( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn issetugid() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkdtemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn mknod( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: mode_t, |
|
arg3: dev_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkpath_np(path: *const ::std::os::raw::c_char, omode: mode_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkpathat_np( |
|
dfd: ::std::os::raw::c_int, |
|
path: *const ::std::os::raw::c_char, |
|
omode: mode_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkstemps( |
|
arg1: *mut ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn mkostemp( |
|
path: *mut ::std::os::raw::c_char, |
|
oflags: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkostemps( |
|
path: *mut ::std::os::raw::c_char, |
|
slen: ::std::os::raw::c_int, |
|
oflags: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkstemp_dprotected_np( |
|
path: *mut ::std::os::raw::c_char, |
|
dpclass: ::std::os::raw::c_int, |
|
dpflags: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkdtempat_np( |
|
dfd: ::std::os::raw::c_int, |
|
path: *mut ::std::os::raw::c_char, |
|
) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn mkstempsat_np( |
|
dfd: ::std::os::raw::c_int, |
|
path: *mut ::std::os::raw::c_char, |
|
slen: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn mkostempsat_np( |
|
dfd: ::std::os::raw::c_int, |
|
path: *mut ::std::os::raw::c_char, |
|
slen: ::std::os::raw::c_int, |
|
oflags: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn nfssvc( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn profil( |
|
arg1: *mut ::std::os::raw::c_char, |
|
arg2: size_t, |
|
arg3: ::std::os::raw::c_ulong, |
|
arg4: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn pthread_setugid_np(arg1: uid_t, arg2: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn pthread_getugid_np(arg1: *mut uid_t, arg2: *mut gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn reboot(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn revoke(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn rcmd( |
|
arg1: *mut *mut ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *const ::std::os::raw::c_char, |
|
arg4: *const ::std::os::raw::c_char, |
|
arg5: *const ::std::os::raw::c_char, |
|
arg6: *mut ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn rcmd_af( |
|
arg1: *mut *mut ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *const ::std::os::raw::c_char, |
|
arg4: *const ::std::os::raw::c_char, |
|
arg5: *const ::std::os::raw::c_char, |
|
arg6: *mut ::std::os::raw::c_int, |
|
arg7: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn rresvport(arg1: *mut ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn rresvport_af( |
|
arg1: *mut ::std::os::raw::c_int, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn iruserok( |
|
arg1: ::std::os::raw::c_ulong, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *const ::std::os::raw::c_char, |
|
arg4: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn iruserok_sa( |
|
arg1: *const ::std::os::raw::c_void, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: ::std::os::raw::c_int, |
|
arg4: *const ::std::os::raw::c_char, |
|
arg5: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ruserok( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
arg3: *const ::std::os::raw::c_char, |
|
arg4: *const ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setdomainname( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setgroups(arg1: ::std::os::raw::c_int, arg2: *const gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn sethostid(arg1: ::std::os::raw::c_long); |
|
} |
|
extern "C" { |
|
pub fn sethostname( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setkey(arg1: *const ::std::os::raw::c_char); |
|
} |
|
extern "C" { |
|
pub fn setlogin(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setmode(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_void; |
|
} |
|
extern "C" { |
|
pub fn setrgid(arg1: gid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setruid(arg1: uid_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setsgroups_np( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_uchar, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setusershell(); |
|
} |
|
extern "C" { |
|
pub fn setwgroups_np( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_uchar, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn strtofflags( |
|
arg1: *mut *mut ::std::os::raw::c_char, |
|
arg2: *mut ::std::os::raw::c_ulong, |
|
arg3: *mut ::std::os::raw::c_ulong, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn swapon(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ttyslot() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn undelete(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn unwhiteout(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn valloc(arg1: size_t) -> *mut ::std::os::raw::c_void; |
|
} |
|
extern "C" { |
|
pub fn syscall(arg1: ::std::os::raw::c_int, ...) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub static mut suboptarg: *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
pub fn getsubopt( |
|
arg1: *mut *mut ::std::os::raw::c_char, |
|
arg2: *const *mut ::std::os::raw::c_char, |
|
arg3: *mut *mut ::std::os::raw::c_char, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fgetattrlist( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fsetattrlist( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getattrlist( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn setattrlist( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn exchangedata( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *const ::std::os::raw::c_char, |
|
arg3: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn getdirentriesattr( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: *mut ::std::os::raw::c_void, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: size_t, |
|
arg5: *mut ::std::os::raw::c_uint, |
|
arg6: *mut ::std::os::raw::c_uint, |
|
arg7: *mut ::std::os::raw::c_uint, |
|
arg8: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct fssearchblock { |
|
_unused: [u8; 0], |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct searchstate { |
|
_unused: [u8; 0], |
|
} |
|
extern "C" { |
|
pub fn searchfs( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: *mut fssearchblock, |
|
arg3: *mut ::std::os::raw::c_ulong, |
|
arg4: ::std::os::raw::c_uint, |
|
arg5: ::std::os::raw::c_uint, |
|
arg6: *mut searchstate, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fsctl( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_ulong, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn ffsctl( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: ::std::os::raw::c_ulong, |
|
arg3: *mut ::std::os::raw::c_void, |
|
arg4: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn fsync_volume_np( |
|
arg1: ::std::os::raw::c_int, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn sync_volume_np( |
|
arg1: *const ::std::os::raw::c_char, |
|
arg2: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub static mut optreset: ::std::os::raw::c_int; |
|
} |
|
pub type zts_socklen_t = u32; |
|
pub type zts_in_addr_t = u32; |
|
pub type zts_in_port_t = u16; |
|
pub type zts_sa_family_t = u8; |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_in_addr { |
|
pub s_addr: zts_in_addr_t, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_in_addr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_in_addr>(), |
|
4usize, |
|
concat!("Size of: ", stringify!(zts_in_addr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_in_addr>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_in_addr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in_addr>())).s_addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in_addr), |
|
"::", |
|
stringify!(s_addr) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_in6_addr { |
|
pub un: zts_in6_addr_un, |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub union zts_in6_addr_un { |
|
pub u32_addr: [u32; 4usize], |
|
pub u8_addr: [u8; 16usize], |
|
_bindgen_union_align: [u32; 4usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_in6_addr_un() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_in6_addr_un>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_in6_addr_un)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_in6_addr_un>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_in6_addr_un)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in6_addr_un>())).u32_addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in6_addr_un), |
|
"::", |
|
stringify!(u32_addr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in6_addr_un>())).u8_addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in6_addr_un), |
|
"::", |
|
stringify!(u8_addr) |
|
) |
|
); |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_in6_addr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_in6_addr>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_in6_addr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_in6_addr>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_in6_addr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in6_addr>())).un as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in6_addr), |
|
"::", |
|
stringify!(un) |
|
) |
|
); |
|
} |
|
#[doc = " Address structure to specify an IPv4 endpoint"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_sockaddr_in { |
|
pub sin_len: u8, |
|
pub sin_family: zts_sa_family_t, |
|
pub sin_port: zts_in_port_t, |
|
pub sin_addr: zts_in_addr, |
|
pub sin_zero: [::std::os::raw::c_char; 8usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_sockaddr_in() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_sockaddr_in>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_sockaddr_in)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_sockaddr_in>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_sockaddr_in)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in>())).sin_len as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in), |
|
"::", |
|
stringify!(sin_len) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in>())).sin_family as *const _ as usize }, |
|
1usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in), |
|
"::", |
|
stringify!(sin_family) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in>())).sin_port as *const _ as usize }, |
|
2usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in), |
|
"::", |
|
stringify!(sin_port) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in>())).sin_addr as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in), |
|
"::", |
|
stringify!(sin_addr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in>())).sin_zero as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in), |
|
"::", |
|
stringify!(sin_zero) |
|
) |
|
); |
|
} |
|
#[doc = " Address structure to specify an IPv6 endpoint"] |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_sockaddr_in6 { |
|
pub sin6_len: u8, |
|
pub sin6_family: zts_sa_family_t, |
|
pub sin6_port: zts_in_port_t, |
|
pub sin6_flowinfo: u32, |
|
pub sin6_addr: zts_in6_addr, |
|
pub sin6_scope_id: u32, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_sockaddr_in6() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_sockaddr_in6>(), |
|
28usize, |
|
concat!("Size of: ", stringify!(zts_sockaddr_in6)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_sockaddr_in6>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_sockaddr_in6)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_len as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_len) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_family as *const _ as usize }, |
|
1usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_family) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_port as *const _ as usize }, |
|
2usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_port) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_flowinfo as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_flowinfo) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_addr as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_addr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_in6>())).sin6_scope_id as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_in6), |
|
"::", |
|
stringify!(sin6_scope_id) |
|
) |
|
); |
|
} |
|
#[doc = " Pointers to socket address structures are often cast to this type"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_sockaddr { |
|
pub sa_len: u8, |
|
pub sa_family: zts_sa_family_t, |
|
pub sa_data: [::std::os::raw::c_char; 14usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_sockaddr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_sockaddr>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_sockaddr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_sockaddr>(), |
|
1usize, |
|
concat!("Alignment of ", stringify!(zts_sockaddr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr>())).sa_len as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr), |
|
"::", |
|
stringify!(sa_len) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr>())).sa_family as *const _ as usize }, |
|
1usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr), |
|
"::", |
|
stringify!(sa_family) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr>())).sa_data as *const _ as usize }, |
|
2usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr), |
|
"::", |
|
stringify!(sa_data) |
|
) |
|
); |
|
} |
|
#[doc = " Address structure large enough to hold IPv4 and IPv6 addresses"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_sockaddr_storage { |
|
pub s2_len: u8, |
|
pub ss_family: zts_sa_family_t, |
|
pub s2_data1: [::std::os::raw::c_char; 2usize], |
|
pub s2_data2: [u32; 3usize], |
|
pub s2_data3: [u32; 3usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_sockaddr_storage() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_sockaddr_storage>(), |
|
28usize, |
|
concat!("Size of: ", stringify!(zts_sockaddr_storage)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_sockaddr_storage>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_sockaddr_storage)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_storage>())).s2_len as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_storage), |
|
"::", |
|
stringify!(s2_len) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_storage>())).ss_family as *const _ as usize }, |
|
1usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_storage), |
|
"::", |
|
stringify!(ss_family) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_storage>())).s2_data1 as *const _ as usize }, |
|
2usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_storage), |
|
"::", |
|
stringify!(s2_data1) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_storage>())).s2_data2 as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_storage), |
|
"::", |
|
stringify!(s2_data2) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_sockaddr_storage>())).s2_data3 as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_sockaddr_storage), |
|
"::", |
|
stringify!(s2_data3) |
|
) |
|
); |
|
} |
|
#[doc = " Runtime details about the current node"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_node_info_t { |
|
#[doc = " Node ID"] |
|
pub node_id: u64, |
|
#[doc = " Port used by ZeroTier to send and receive traffic"] |
|
pub port_primary: u16, |
|
#[doc = " Port used by ZeroTier to send and receive traffic"] |
|
pub port_secondary: u16, |
|
#[doc = " Port used by ZeroTier to send and receive traffic"] |
|
pub port_tertiary: u16, |
|
#[doc = " ZT Major version"] |
|
pub ver_major: u8, |
|
#[doc = " ZT Minor version"] |
|
pub ver_minor: u8, |
|
#[doc = " ZT Patch revision"] |
|
pub ver_rev: u8, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_node_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_node_info_t>(), |
|
24usize, |
|
concat!("Size of: ", stringify!(zts_node_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_node_info_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_node_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).node_id as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(node_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).port_primary as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(port_primary) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).port_secondary as *const _ as usize }, |
|
10usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(port_secondary) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).port_tertiary as *const _ as usize }, |
|
12usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(port_tertiary) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).ver_major as *const _ as usize }, |
|
14usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(ver_major) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).ver_minor as *const _ as usize }, |
|
15usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(ver_minor) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_node_info_t>())).ver_rev as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_node_info_t), |
|
"::", |
|
stringify!(ver_rev) |
|
) |
|
); |
|
} |
|
#[doc = " Details about an assigned address that was added or removed"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_addr_info_t { |
|
pub net_id: u64, |
|
pub addr: zts_sockaddr_storage, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_addr_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_addr_info_t>(), |
|
40usize, |
|
concat!("Size of: ", stringify!(zts_addr_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_addr_info_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_addr_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_addr_info_t>())).net_id as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_addr_info_t), |
|
"::", |
|
stringify!(net_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_addr_info_t>())).addr as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_addr_info_t), |
|
"::", |
|
stringify!(addr) |
|
) |
|
); |
|
} |
|
#[doc = " Waiting for network configuration (also means revision == 0)"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_REQUESTING_CONFIGURATION: zts_network_status_t = |
|
0; |
|
#[doc = " Configuration received and we are authorized"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_OK: zts_network_status_t = 1; |
|
#[doc = " Netconf master told us 'nope'"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_ACCESS_DENIED: zts_network_status_t = 2; |
|
#[doc = " Netconf master exists, but this virtual network does not"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_NOT_FOUND: zts_network_status_t = 3; |
|
#[doc = " Initialization of network failed or other internal error"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_PORT_ERROR: zts_network_status_t = 4; |
|
#[doc = " ZeroTier core version too old"] |
|
pub const zts_network_status_t_ZTS_NETWORK_STATUS_CLIENT_TOO_OLD: zts_network_status_t = 5; |
|
#[doc = " Virtual network status codes"] |
|
pub type zts_network_status_t = ::std::os::raw::c_uint; |
|
#[doc = " Private networks are authorized via certificates of membership"] |
|
pub const zts_net_info_type_t_ZTS_NETWORK_TYPE_PRIVATE: zts_net_info_type_t = 0; |
|
#[doc = " Public networks have no access control -- they'll always be AUTHORIZED"] |
|
pub const zts_net_info_type_t_ZTS_NETWORK_TYPE_PUBLIC: zts_net_info_type_t = 1; |
|
#[doc = " Virtual network type codes"] |
|
pub type zts_net_info_type_t = ::std::os::raw::c_uint; |
|
#[doc = " A route to be pushed on a virtual network"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_route_info_t { |
|
#[doc = " Target network / netmask bits (in port field) or NULL or 0.0.0.0/0"] |
|
#[doc = " for default"] |
|
pub target: zts_sockaddr_storage, |
|
#[doc = " Gateway IP address (port ignored) or NULL (family == 0) for LAN-local"] |
|
#[doc = " (no gateway)"] |
|
pub via: zts_sockaddr_storage, |
|
#[doc = " Route flags"] |
|
pub flags: u16, |
|
#[doc = " Route metric (not currently used)"] |
|
pub metric: u16, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_route_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_route_info_t>(), |
|
60usize, |
|
concat!("Size of: ", stringify!(zts_route_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_route_info_t>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_route_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_route_info_t>())).target as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_route_info_t), |
|
"::", |
|
stringify!(target) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_route_info_t>())).via as *const _ as usize }, |
|
28usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_route_info_t), |
|
"::", |
|
stringify!(via) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_route_info_t>())).flags as *const _ as usize }, |
|
56usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_route_info_t), |
|
"::", |
|
stringify!(flags) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_route_info_t>())).metric as *const _ as usize }, |
|
58usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_route_info_t), |
|
"::", |
|
stringify!(metric) |
|
) |
|
); |
|
} |
|
#[doc = " An Ethernet multicast group"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_multicast_group_t { |
|
#[doc = " MAC address (least significant 48 bits)"] |
|
pub mac: u64, |
|
#[doc = " Additional distinguishing information (usually zero)"] |
|
pub adi: ::std::os::raw::c_ulong, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_multicast_group_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_multicast_group_t>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_multicast_group_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_multicast_group_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_multicast_group_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_multicast_group_t>())).mac as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_multicast_group_t), |
|
"::", |
|
stringify!(mac) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_multicast_group_t>())).adi as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_multicast_group_t), |
|
"::", |
|
stringify!(adi) |
|
) |
|
); |
|
} |
|
#[doc = " Ordinary node"] |
|
pub const zts_peer_role_t_ZTS_PEER_ROLE_LEAF: zts_peer_role_t = 0; |
|
#[doc = " Moon root"] |
|
pub const zts_peer_role_t_ZTS_PEER_ROLE_MOON: zts_peer_role_t = 1; |
|
#[doc = " Planetary root"] |
|
pub const zts_peer_role_t_ZTS_PEER_ROLE_PLANET: zts_peer_role_t = 2; |
|
#[doc = " The peer's trust hierarchy role"] |
|
pub type zts_peer_role_t = ::std::os::raw::c_uint; |
|
#[doc = " Virtual network configuration"] |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_net_info_t { |
|
#[doc = " 64-bit ZeroTier network ID"] |
|
pub net_id: u64, |
|
#[doc = " Ethernet MAC (48 bits) that should be assigned to port"] |
|
pub mac: u64, |
|
#[doc = " Network name (from network configuration master)"] |
|
pub name: [::std::os::raw::c_char; 128usize], |
|
#[doc = " Network configuration request status"] |
|
pub status: zts_network_status_t, |
|
#[doc = " Network type"] |
|
pub type_: zts_net_info_type_t, |
|
#[doc = " Maximum interface MTU"] |
|
pub mtu: ::std::os::raw::c_uint, |
|
#[doc = " If nonzero, the network this port belongs to indicates DHCP availability"] |
|
#[doc = ""] |
|
#[doc = " This is a suggestion. The underlying implementation is free to ignore it"] |
|
#[doc = " for security or other reasons. This is simply a netconf parameter that"] |
|
#[doc = " means 'DHCP is available on this network.'"] |
|
pub dhcp: ::std::os::raw::c_int, |
|
#[doc = " If nonzero, this port is allowed to bridge to other networks"] |
|
#[doc = ""] |
|
#[doc = " This is informational. If this is false (0), bridged packets will simply"] |
|
#[doc = " be dropped and bridging won't work."] |
|
pub bridge: ::std::os::raw::c_int, |
|
#[doc = " If nonzero, this network supports and allows broadcast"] |
|
#[doc = " (ff:ff:ff:ff:ff:ff) traffic"] |
|
pub broadcast_enabled: ::std::os::raw::c_int, |
|
#[doc = " If the network is in PORT_ERROR state, this is the (negative) error code"] |
|
#[doc = " most recently reported"] |
|
pub port_error: ::std::os::raw::c_int, |
|
#[doc = " Revision number as reported by controller or 0 if still waiting for"] |
|
#[doc = " config"] |
|
pub netconf_rev: ::std::os::raw::c_ulong, |
|
#[doc = " Number of assigned addresses"] |
|
pub assigned_addr_count: ::std::os::raw::c_uint, |
|
#[doc = " ZeroTier-assigned addresses (in sockaddr_storage structures)"] |
|
#[doc = ""] |
|
#[doc = " For IP, the port number of the sockaddr_XX structure contains the number"] |
|
#[doc = " of bits in the address netmask. Only the IP address and port are used."] |
|
#[doc = " Other fields like interface number can be ignored."] |
|
#[doc = ""] |
|
#[doc = " This is only used for ZeroTier-managed address assignments sent by the"] |
|
#[doc = " virtual network's configuration master."] |
|
pub assigned_addrs: [zts_sockaddr_storage; 16usize], |
|
#[doc = " Number of ZT-pushed routes"] |
|
pub route_count: ::std::os::raw::c_uint, |
|
#[doc = " Routes (excluding those implied by assigned addresses and their masks)"] |
|
pub routes: [zts_route_info_t; 32usize], |
|
#[doc = " Number of multicast groups subscribed"] |
|
pub multicast_sub_count: ::std::os::raw::c_uint, |
|
pub multicast_subs: [zts_net_info_t__bindgen_ty_1; 1024usize], |
|
} |
|
#[doc = " Multicast groups to which this network's device is subscribed"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_net_info_t__bindgen_ty_1 { |
|
pub mac: u64, |
|
pub adi: u32, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_net_info_t__bindgen_ty_1() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_net_info_t__bindgen_ty_1>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_net_info_t__bindgen_ty_1)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_net_info_t__bindgen_ty_1>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_net_info_t__bindgen_ty_1)) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<zts_net_info_t__bindgen_ty_1>())).mac as *const _ as usize |
|
}, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t__bindgen_ty_1), |
|
"::", |
|
stringify!(mac) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<zts_net_info_t__bindgen_ty_1>())).adi as *const _ as usize |
|
}, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t__bindgen_ty_1), |
|
"::", |
|
stringify!(adi) |
|
) |
|
); |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_net_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_net_info_t>(), |
|
18952usize, |
|
concat!("Size of: ", stringify!(zts_net_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_net_info_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_net_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).net_id as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(net_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).mac as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(mac) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).name as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(name) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).status as *const _ as usize }, |
|
144usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(status) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).type_ as *const _ as usize }, |
|
148usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(type_) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).mtu as *const _ as usize }, |
|
152usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(mtu) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).dhcp as *const _ as usize }, |
|
156usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(dhcp) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).bridge as *const _ as usize }, |
|
160usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(bridge) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<zts_net_info_t>())).broadcast_enabled as *const _ as usize |
|
}, |
|
164usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(broadcast_enabled) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).port_error as *const _ as usize }, |
|
168usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(port_error) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).netconf_rev as *const _ as usize }, |
|
176usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(netconf_rev) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<zts_net_info_t>())).assigned_addr_count as *const _ as usize |
|
}, |
|
184usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(assigned_addr_count) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).assigned_addrs as *const _ as usize }, |
|
188usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(assigned_addrs) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).route_count as *const _ as usize }, |
|
636usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(route_count) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).routes as *const _ as usize }, |
|
640usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(routes) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { |
|
&(*(::std::ptr::null::<zts_net_info_t>())).multicast_sub_count as *const _ as usize |
|
}, |
|
2560usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(multicast_sub_count) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_net_info_t>())).multicast_subs as *const _ as usize }, |
|
2568usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_net_info_t), |
|
"::", |
|
stringify!(multicast_subs) |
|
) |
|
); |
|
} |
|
#[doc = " Physical network path to a peer"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_path_t { |
|
#[doc = " Address of endpoint"] |
|
pub address: zts_sockaddr_storage, |
|
#[doc = " Time of last send in milliseconds or 0 for never"] |
|
pub last_tx: u64, |
|
#[doc = " Time of last receive in milliseconds or 0 for never"] |
|
pub last_rx: u64, |
|
#[doc = " Is this a trusted path? If so this will be its nonzero ID."] |
|
pub trusted_path_id: u64, |
|
#[doc = " One-way latency"] |
|
pub latency: f32, |
|
pub unused_0: f32, |
|
pub unused_1: f32, |
|
pub unused_2: f32, |
|
pub unused_3: f32, |
|
pub unused_4: f32, |
|
pub unused_5: u64, |
|
pub unused_6: u64, |
|
pub unused_7: f32, |
|
#[doc = " Name of physical interface (for monitoring)"] |
|
pub ifname: *mut ::std::os::raw::c_char, |
|
#[doc = " Is path expired?"] |
|
pub expired: ::std::os::raw::c_int, |
|
#[doc = " Is path preferred?"] |
|
pub preferred: ::std::os::raw::c_int, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_path_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_path_t>(), |
|
120usize, |
|
concat!("Size of: ", stringify!(zts_path_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_path_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_path_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).address as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(address) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).last_tx as *const _ as usize }, |
|
32usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(last_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).last_rx as *const _ as usize }, |
|
40usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(last_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).trusted_path_id as *const _ as usize }, |
|
48usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(trusted_path_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).latency as *const _ as usize }, |
|
56usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(latency) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_0 as *const _ as usize }, |
|
60usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_0) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_1 as *const _ as usize }, |
|
64usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_1) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_2 as *const _ as usize }, |
|
68usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_2) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_3 as *const _ as usize }, |
|
72usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_3) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_4 as *const _ as usize }, |
|
76usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_4) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_5 as *const _ as usize }, |
|
80usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_5) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_6 as *const _ as usize }, |
|
88usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_6) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).unused_7 as *const _ as usize }, |
|
96usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(unused_7) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).ifname as *const _ as usize }, |
|
104usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(ifname) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).expired as *const _ as usize }, |
|
112usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(expired) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_path_t>())).preferred as *const _ as usize }, |
|
116usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_path_t), |
|
"::", |
|
stringify!(preferred) |
|
) |
|
); |
|
} |
|
#[doc = " Peer status result buffer"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_peer_info_t { |
|
#[doc = " ZeroTier address (40 bits)"] |
|
pub peer_id: u64, |
|
#[doc = " Remote major version or -1 if not known"] |
|
pub ver_major: ::std::os::raw::c_int, |
|
#[doc = " Remote minor version or -1 if not known"] |
|
pub ver_minor: ::std::os::raw::c_int, |
|
#[doc = " Remote revision or -1 if not known"] |
|
pub ver_rev: ::std::os::raw::c_int, |
|
#[doc = " Last measured latency in milliseconds or -1 if unknown"] |
|
pub latency: ::std::os::raw::c_int, |
|
#[doc = " What trust hierarchy role does this device have?"] |
|
pub role: zts_peer_role_t, |
|
#[doc = " Number of paths (size of paths[])"] |
|
pub path_count: ::std::os::raw::c_uint, |
|
#[doc = " Whether this peer was ever reachable via an aggregate link"] |
|
pub unused_0: ::std::os::raw::c_int, |
|
#[doc = " Known network paths to peer"] |
|
pub paths: [zts_path_t; 16usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_peer_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_peer_info_t>(), |
|
1960usize, |
|
concat!("Size of: ", stringify!(zts_peer_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_peer_info_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_peer_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).peer_id as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(peer_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).ver_major as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(ver_major) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).ver_minor as *const _ as usize }, |
|
12usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(ver_minor) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).ver_rev as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(ver_rev) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).latency as *const _ as usize }, |
|
20usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(latency) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).role as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(role) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).path_count as *const _ as usize }, |
|
28usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(path_count) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).unused_0 as *const _ as usize }, |
|
32usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(unused_0) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_peer_info_t>())).paths as *const _ as usize }, |
|
40usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_peer_info_t), |
|
"::", |
|
stringify!(paths) |
|
) |
|
); |
|
} |
|
#[doc = " Structure used to specify a root topology (aka a world)"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_root_set_t { |
|
pub public_id_str: [*mut ::std::os::raw::c_char; 16usize], |
|
pub endpoint_ip_str: [[*mut ::std::os::raw::c_char; 32usize]; 16usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_root_set_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_root_set_t>(), |
|
4224usize, |
|
concat!("Size of: ", stringify!(zts_root_set_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_root_set_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_root_set_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_root_set_t>())).public_id_str as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_root_set_t), |
|
"::", |
|
stringify!(public_id_str) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_root_set_t>())).endpoint_ip_str as *const _ as usize }, |
|
128usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_root_set_t), |
|
"::", |
|
stringify!(endpoint_ip_str) |
|
) |
|
); |
|
} |
|
#[doc = " Structure used to convey information about a virtual network"] |
|
#[doc = " interface (netif) to a user application."] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_netif_info_t { |
|
#[doc = " The virtual network that this interface was created for"] |
|
pub net_id: u64, |
|
#[doc = " The hardware address assigned to this interface"] |
|
pub mac: u64, |
|
#[doc = " The MTU for this interface"] |
|
pub mtu: ::std::os::raw::c_int, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_netif_info_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_netif_info_t>(), |
|
24usize, |
|
concat!("Size of: ", stringify!(zts_netif_info_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_netif_info_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_netif_info_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_netif_info_t>())).net_id as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_netif_info_t), |
|
"::", |
|
stringify!(net_id) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_netif_info_t>())).mac as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_netif_info_t), |
|
"::", |
|
stringify!(mac) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_netif_info_t>())).mtu as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_netif_info_t), |
|
"::", |
|
stringify!(mtu) |
|
) |
|
); |
|
} |
|
#[doc = " Callback message"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_event_msg_t { |
|
#[doc = " Event identifier"] |
|
pub event_code: i16, |
|
#[doc = " Node status"] |
|
pub node: *mut zts_node_info_t, |
|
#[doc = " Network information"] |
|
pub network: *mut zts_net_info_t, |
|
#[doc = " Netif status"] |
|
pub netif: *mut zts_netif_info_t, |
|
#[doc = " Managed routes"] |
|
pub route: *mut zts_route_info_t, |
|
#[doc = " Peer info"] |
|
pub peer: *mut zts_peer_info_t, |
|
#[doc = " Assigned address"] |
|
pub addr: *mut zts_addr_info_t, |
|
#[doc = " Binary data (identities, planets, network configs, peer hints, etc)"] |
|
pub cache: *mut ::std::os::raw::c_void, |
|
#[doc = " Length of data message or structure"] |
|
pub len: ::std::os::raw::c_int, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_event_msg_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_event_msg_t>(), |
|
72usize, |
|
concat!("Size of: ", stringify!(zts_event_msg_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_event_msg_t>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_event_msg_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).event_code as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(event_code) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).node as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(node) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).network as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(network) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).netif as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(netif) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).route as *const _ as usize }, |
|
32usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(route) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).peer as *const _ as usize }, |
|
40usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(peer) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).addr as *const _ as usize }, |
|
48usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(addr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).cache as *const _ as usize }, |
|
56usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(cache) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_event_msg_t>())).len as *const _ as usize }, |
|
64usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_event_msg_t), |
|
"::", |
|
stringify!(len) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Generates a node identity (public/secret key-pair) and stores it in a"] |
|
#[doc = " user-provided buffer."] |
|
#[doc = ""] |
|
#[doc = " @param key User-provided destination buffer"] |
|
#[doc = " @param key_buf_len Length of user-provided destination buffer. Will be set"] |
|
#[doc = " to the number of bytes copied."] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_id_new( |
|
key: *mut ::std::os::raw::c_char, |
|
key_buf_len: *mut ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Verifies that a key-pair is valid. Checks formatting and pairing of"] |
|
#[doc = " key to address."] |
|
#[doc = ""] |
|
#[doc = " @param key Buffer containing key-pair"] |
|
#[doc = " @param len Length of key-pair buffer"] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_id_pair_is_valid( |
|
key: *const ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Instruct ZeroTier to look for node identity files at the given location. This is an"] |
|
#[doc = " initialization function that can only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " Note that calling this function is not mandatory and if it is not called the node's keys will be"] |
|
#[doc = " kept in memory and retrievable via `zts_node_get_id_pair()`."] |
|
#[doc = ""] |
|
#[doc = " See also: `zts_init_from_memory()`"] |
|
#[doc = ""] |
|
#[doc = " @param port Path Null-terminated file-system path string"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_from_storage(path: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Instruct ZeroTier to use the identity provided in `key`. This is an initialization"] |
|
#[doc = " function that can only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " Note that calling this function is not mandatory and if it is not called the node's keys will be"] |
|
#[doc = " kept in memory and retrievable via `zts_node_get_id_pair()`."] |
|
#[doc = ""] |
|
#[doc = " See also: `zts_init_from_storage()`"] |
|
#[doc = ""] |
|
#[doc = " @param key Path Null-terminated file-system path string"] |
|
#[doc = " @param len Length of `key` buffer"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_from_memory( |
|
key: *const ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
pub fn zts_init_set_event_handler( |
|
callback: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Blacklist an interface prefix (or name). This prevents ZeroTier from"] |
|
#[doc = " sending traffic over matching interfaces. This is an initialization function that can"] |
|
#[doc = " only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param prefix Null-terminated interface prefix string"] |
|
#[doc = " @param len Length of prefix string"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_blacklist_if( |
|
prefix: *const ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Present a root set definition for ZeroTier to use instead of the default."] |
|
#[doc = " This is an initialization function that can only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param roots_data Array of roots definition data (binary)"] |
|
#[doc = " @param len Length of binary data"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_set_roots( |
|
roots_data: *const ::std::os::raw::c_void, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the port to which the node should bind. This is an initialization function that can"] |
|
#[doc = " only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param port Port number"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_set_port(port: ::std::os::raw::c_ushort) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set range that random ports will be selected from. This is an initialization function that can"] |
|
#[doc = " only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param start_port Start of port range"] |
|
#[doc = " @param end_port End of port range"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_set_random_port_range( |
|
start_port: ::std::os::raw::c_ushort, |
|
end_port: ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Allow or disallow ZeroTier from automatically selecting a backup port to help get through"] |
|
#[doc = " buggy NAT. This is enabled by default. This port is randomly chosen and should be disabled if you"] |
|
#[doc = " want to control exactly which ports ZeroTier talks on and (iff) you know with absolute certainty"] |
|
#[doc = " that traffic on your chosen primary port is allowed. This is an initialization function that can"] |
|
#[doc = " only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param port Port number"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_secondary_port(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Allow or disallow the use of port-mapping. This is enabled by default. This is an"] |
|
#[doc = " initialization function that can only be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param port Port number"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_port_mapping(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable whether the node will cache network details"] |
|
#[doc = " (enabled by default when `zts_init_from_storage()` is used.) Must be called before"] |
|
#[doc = " `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " This can potentially shorten (startup) times between node restarts. This allows the service to"] |
|
#[doc = " nearly instantly inform the network stack of an address to use for this peer"] |
|
#[doc = " so that it can create a transport service. This can be disabled for cases where one"] |
|
#[doc = " may not want network config details to be written to storage. This is"] |
|
#[doc = " especially useful for situations where address assignments do not change"] |
|
#[doc = " often."] |
|
#[doc = ""] |
|
#[doc = " See also: `zts_init_allow_peer_cache()`"] |
|
#[doc = ""] |
|
#[doc = " @param enabled Whether or not this feature is enabled"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_net_cache(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable whether the node will cache peer details (enabled"] |
|
#[doc = " by default when `zts_init_from_storage()` is used.) Must be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " This can potentially shorten (connection) times between node restarts. This allows the service to"] |
|
#[doc = " re-use previously discovered paths to a peer, this prevents the service from"] |
|
#[doc = " having to go through the entire transport-triggered link provisioning"] |
|
#[doc = " process. This is especially useful for situations where paths to peers do not"] |
|
#[doc = " change often. This is enabled by default and can be disabled for cases where"] |
|
#[doc = " one may not want peer details to be written to storage."] |
|
#[doc = ""] |
|
#[doc = " See also: `zts_init_allow_net_cache()`"] |
|
#[doc = ""] |
|
#[doc = " @param enabled Whether or not this feature is enabled"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_peer_cache(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable whether the node will cache root definitions (enabled"] |
|
#[doc = " by default when `zts_init_from_storage()` is used.) Must be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param enabled Whether or not this feature is enabled"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_roots_cache(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable whether the node will cache identities (enabled"] |
|
#[doc = " by default when `zts_init_from_storage()` is used.) Must be called before `zts_node_start()`."] |
|
#[doc = ""] |
|
#[doc = " @param enabled Whether or not this feature is enabled"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_init_allow_id_cache(allowed: ::std::os::raw::c_uint) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether an address of the given family has been assigned by the network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param family `ZTS_AF_INET`, or `ZTS_AF_INET6`"] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_addr_is_assigned( |
|
net_id: u64, |
|
family: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the first-assigned IP on the given network."] |
|
#[doc = ""] |
|
#[doc = " To get *all* assigned addresses on a given network, use `zts_addr_get_all()`."] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param family `ZTS_AF_INET`, or `ZTS_AF_INET6`"] |
|
#[doc = " @param addr Destination buffer to hold address"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_get( |
|
net_id: u64, |
|
family: ::std::os::raw::c_uint, |
|
addr: *mut zts_sockaddr_storage, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the first-assigned IP on the given network as a null-terminated human-readable string"] |
|
#[doc = ""] |
|
#[doc = " To get *all* assigned addresses on a given network, use `zts_addr_get_all()`."] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param family `ZTS_AF_INET`, or `ZTS_AF_INET6`"] |
|
#[doc = " @param dst Destination buffer"] |
|
#[doc = " @param len Length of destination buffer (must be exactly `ZTS_IP_MAX_STR_LEN`)"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_get_str( |
|
net_id: u64, |
|
family: ::std::os::raw::c_uint, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get all IP addresses assigned to this node by the given network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param addr Destination buffer to hold address"] |
|
#[doc = " @param count Number of addresses returned"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_get_all( |
|
net_id: u64, |
|
addr: *mut zts_sockaddr_storage, |
|
count: *mut ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Compute a `6PLANE` IPv6 address for the given Network ID and Node ID"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param node_id Node ID"] |
|
#[doc = " @param addr Destination structure for address"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_compute_6plane( |
|
net_id: u64, |
|
node_id: u64, |
|
addr: *mut zts_sockaddr_storage, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Compute `RFC4193` IPv6 address for the given Network ID and Node ID"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param node_id Node ID"] |
|
#[doc = " @param addr Destination structure for address"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_compute_rfc4193( |
|
net_id: u64, |
|
node_id: u64, |
|
addr: *mut zts_sockaddr_storage, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Compute `RFC4193` IPv6 address for the given Network ID and Node ID and copy its"] |
|
#[doc = " null-terminated human-readable string representation into destination buffer."] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param node_id Node ID"] |
|
#[doc = " @param dst Destination string buffer"] |
|
#[doc = " @param len Length of destination string buffer (must be exactly `ZTS_IP_MAX_STR_LEN`)"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_compute_rfc4193_str( |
|
net_id: u64, |
|
node_id: u64, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Compute `6PLANE` IPv6 address for the given Network ID and Node ID and copy its"] |
|
#[doc = " null-terminated human-readable string representation into destination buffer."] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param node_id Node ID"] |
|
#[doc = " @param dst Destination string buffer"] |
|
#[doc = " @param len Length of destination string buffer (must be exactly `ZTS_IP_MAX_STR_LEN`)"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_addr_compute_6plane_str( |
|
net_id: u64, |
|
node_id: u64, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Compute `RFC4193` IPv6 address for the given Network ID and Node ID"] |
|
#[doc = ""] |
|
#[doc = " Ad-hoc Network:"] |
|
#[doc = " ```"] |
|
#[doc = " ffSSSSEEEE000000"] |
|
#[doc = " | | | |"] |
|
#[doc = " | | | Reserved for future use, must be 0"] |
|
#[doc = " | | End of port range (hex)"] |
|
#[doc = " | Start of port range (hex)"] |
|
#[doc = " Reserved ZeroTier address prefix indicating a controller-less network."] |
|
#[doc = " ```"] |
|
#[doc = " Ad-hoc networks are public (no access control) networks that have no network"] |
|
#[doc = " controller. Instead their configuration and other credentials are generated"] |
|
#[doc = " locally. Ad-hoc networks permit only IPv6 UDP and TCP unicast traffic"] |
|
#[doc = " (no multicast or broadcast) using 6plane format NDP-emulated IPv6 addresses."] |
|
#[doc = " In addition an ad-hoc network ID encodes an IP port range. UDP packets and"] |
|
#[doc = " TCP SYN (connection open) packets are only allowed to destination ports"] |
|
#[doc = " within the encoded range."] |
|
#[doc = ""] |
|
#[doc = " For example `ff00160016000000` is an ad-hoc network allowing only SSH,"] |
|
#[doc = " while `ff0000ffff000000` is an ad-hoc network allowing any UDP or TCP port."] |
|
#[doc = ""] |
|
#[doc = " Keep in mind that these networks are public and anyone in the entire world"] |
|
#[doc = " can join them. Care must be taken to avoid exposing vulnerable services or"] |
|
#[doc = " sharing unwanted files or other resources."] |
|
#[doc = ""] |
|
#[doc = ""] |
|
#[doc = " @param start_port Start of port allowed port range"] |
|
#[doc = " @param end_port End of allowed port range"] |
|
#[doc = " @return An Ad-hoc network ID"] |
|
pub fn zts_net_compute_adhoc_id(start_port: u16, end_port: u16) -> u64; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Join a network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_net_join(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Leave a network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_net_leave(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether this network is ready to send and receive traffic."] |
|
#[doc = ""] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_net_transport_is_ready(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the MAC Address for this node on the given network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = ""] |
|
#[doc = " @return MAC address in numerical format"] |
|
pub fn zts_net_get_mac(net_id: u64) -> u64; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the MAC Address for this node on the given network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param dst Destination string buffer"] |
|
#[doc = " @param len Length of destination string buffer. Must be exactly `ZTS_MAC_ADDRSTRLEN`"] |
|
#[doc = ""] |
|
#[doc = " @return MAC address in string format"] |
|
pub fn zts_net_get_mac_str( |
|
net_id: u64, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether broadcast is enabled on this network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = ""] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_net_get_broadcast(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the MTU of the given network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = ""] |
|
#[doc = " @return MTU"] |
|
pub fn zts_net_get_mtu(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the nickname of the network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param dst Destination string buffer"] |
|
#[doc = " @param len Length of destination string buffer"] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_net_get_name( |
|
net_id: u64, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the status of the network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = ""] |
|
#[doc = " @return Status"] |
|
pub fn zts_net_get_status(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the type of network (public or private.)"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = ""] |
|
#[doc = " @return Type"] |
|
pub fn zts_net_get_type(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether a managed route of the given address family has been assigned by the"] |
|
#[doc = " network"] |
|
#[doc = ""] |
|
#[doc = " @param net_id Network ID"] |
|
#[doc = " @param family `ZTS_AF_INET`, or `ZTS_AF_INET6`"] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_route_is_assigned( |
|
net_id: u64, |
|
family: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Start the ZeroTier node. Should be called after calling the relevant"] |
|
#[doc = " `zts_init_*` functions for your application. To enable storage call"] |
|
#[doc = " `zts_init_from_storage()` before this function. To enable event callbacks"] |
|
#[doc = " call `zts_init_set_event_handler()` before this function."] |
|
#[doc = ""] |
|
#[doc = " Note: If neither `zts_init_from_storage()` or `zts_init_from_memory()` are"] |
|
#[doc = " called a new identity will be generated and will be retrievable via"] |
|
#[doc = " `zts_node_get_id_pair()` *after* the node has started."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem."] |
|
pub fn zts_node_start() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether the node is online (Can reach the Internet)"] |
|
#[doc = ""] |
|
#[doc = " @return `1` if true, `0` if false."] |
|
pub fn zts_node_is_online() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the public node identity (aka `node_id`). Callable only after the node has been"] |
|
#[doc = " started."] |
|
#[doc = ""] |
|
#[doc = " @return Identity in numerical form"] |
|
pub fn zts_node_get_id() -> u64; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Copy the current node's public (and secret!) identity into a buffer."] |
|
#[doc = ""] |
|
#[doc = " `WARNING`: This function exports your secret key and should be used carefully."] |
|
#[doc = ""] |
|
#[doc = " @param key User-provided destination buffer"] |
|
#[doc = " @param key_dst_len Length of user-provided destination buffer. Will be set to"] |
|
#[doc = " number of bytes copied."] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_node_get_id_pair( |
|
key: *mut ::std::os::raw::c_char, |
|
key_dst_len: *mut ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the primary port to which the node is bound. Callable only after the node has been"] |
|
#[doc = " started."] |
|
#[doc = ""] |
|
#[doc = " @return Port number"] |
|
pub fn zts_node_get_port() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Stop the ZeroTier node and bring down all virtual network"] |
|
#[doc = " transport services. Callable only after the node has been started."] |
|
#[doc = ""] |
|
#[doc = " While the ZeroTier will stop, the stack driver (with associated"] |
|
#[doc = " timers) will remain active in case future traffic processing is required."] |
|
#[doc = " To stop all activity and free all resources use `zts_free()` instead."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem."] |
|
pub fn zts_node_stop() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Stop all background threads, bring down all transport services, free all"] |
|
#[doc = " resources. After calling this function an application restart will be"] |
|
#[doc = " required before the library can be used again. Callable only after the node"] |
|
#[doc = " has been started."] |
|
#[doc = ""] |
|
#[doc = " This should be called at the end of your program or when you do not"] |
|
#[doc = " anticipate communicating over ZeroTier again."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem."] |
|
pub fn zts_node_free() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Orbit a given moon (user-defined root server)"] |
|
#[doc = ""] |
|
#[doc = " @param moon_roots_id World ID"] |
|
#[doc = " @param moon_seed Seed ID"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_moon_orbit(moon_roots_id: u64, moon_seed: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief De-orbit a given moon (user-defined root server)"] |
|
#[doc = ""] |
|
#[doc = " @param moon_roots_id World ID"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument."] |
|
pub fn zts_moon_deorbit(moon_roots_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
#[doc = " Structure containing counters for various protocol statistics"] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_stats_counter_t { |
|
#[doc = " Number of link packets transmitted"] |
|
pub link_tx: u32, |
|
#[doc = " Number of link packets received"] |
|
pub link_rx: u32, |
|
#[doc = " Number of link packets dropped"] |
|
pub link_drop: u32, |
|
#[doc = " Aggregate number of link-level errors"] |
|
pub link_err: u32, |
|
#[doc = " Number of etharp packets transmitted"] |
|
pub etharp_tx: u32, |
|
#[doc = " Number of etharp packets received"] |
|
pub etharp_rx: u32, |
|
#[doc = " Number of etharp packets dropped"] |
|
pub etharp_drop: u32, |
|
#[doc = " Aggregate number of etharp errors"] |
|
pub etharp_err: u32, |
|
#[doc = " Number of IPv4 packets transmitted"] |
|
pub ip4_tx: u32, |
|
#[doc = " Number of IPv4 packets received"] |
|
pub ip4_rx: u32, |
|
#[doc = " Number of IPv4 packets dropped"] |
|
pub ip4_drop: u32, |
|
#[doc = " Aggregate number of IPv4 errors"] |
|
pub ip4_err: u32, |
|
#[doc = " Number of IPv6 packets transmitted"] |
|
pub ip6_tx: u32, |
|
#[doc = " Number of IPv6 packets received"] |
|
pub ip6_rx: u32, |
|
#[doc = " Number of IPv6 packets dropped"] |
|
pub ip6_drop: u32, |
|
#[doc = " Aggregate number of IPv6 errors"] |
|
pub ip6_err: u32, |
|
#[doc = " Number of ICMPv4 packets transmitted"] |
|
pub icmp4_tx: u32, |
|
#[doc = " Number of ICMPv4 packets received"] |
|
pub icmp4_rx: u32, |
|
#[doc = " Number of ICMPv4 packets dropped"] |
|
pub icmp4_drop: u32, |
|
#[doc = " Aggregate number of ICMPv4 errors"] |
|
pub icmp4_err: u32, |
|
#[doc = " Number of ICMPv6 packets transmitted"] |
|
pub icmp6_tx: u32, |
|
#[doc = " Number of ICMPv6 packets received"] |
|
pub icmp6_rx: u32, |
|
#[doc = " Number of ICMPv6 packets dropped"] |
|
pub icmp6_drop: u32, |
|
#[doc = " Aggregate number of ICMPv6 errors"] |
|
pub icmp6_err: u32, |
|
#[doc = " Number of UDP packets transmitted"] |
|
pub udp_tx: u32, |
|
#[doc = " Number of UDP packets received"] |
|
pub udp_rx: u32, |
|
#[doc = " Number of UDP packets dropped"] |
|
pub udp_drop: u32, |
|
#[doc = " Aggregate number of UDP errors"] |
|
pub udp_err: u32, |
|
#[doc = " Number of TCP packets transmitted"] |
|
pub tcp_tx: u32, |
|
#[doc = " Number of TCP packets received"] |
|
pub tcp_rx: u32, |
|
#[doc = " Number of TCP packets dropped"] |
|
pub tcp_drop: u32, |
|
#[doc = " Aggregate number of TCP errors"] |
|
pub tcp_err: u32, |
|
#[doc = " Number of ND6 packets transmitted"] |
|
pub nd6_tx: u32, |
|
#[doc = " Number of ND6 packets received"] |
|
pub nd6_rx: u32, |
|
#[doc = " Number of ND6 packets dropped"] |
|
pub nd6_drop: u32, |
|
#[doc = " Aggregate number of ND6 errors"] |
|
pub nd6_err: u32, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_stats_counter_t() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_stats_counter_t>(), |
|
144usize, |
|
concat!("Size of: ", stringify!(zts_stats_counter_t)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_stats_counter_t>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_stats_counter_t)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).link_tx as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(link_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).link_rx as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(link_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).link_drop as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(link_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).link_err as *const _ as usize }, |
|
12usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(link_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).etharp_tx as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(etharp_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).etharp_rx as *const _ as usize }, |
|
20usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(etharp_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).etharp_drop as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(etharp_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).etharp_err as *const _ as usize }, |
|
28usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(etharp_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip4_tx as *const _ as usize }, |
|
32usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip4_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip4_rx as *const _ as usize }, |
|
36usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip4_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip4_drop as *const _ as usize }, |
|
40usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip4_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip4_err as *const _ as usize }, |
|
44usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip4_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip6_tx as *const _ as usize }, |
|
48usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip6_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip6_rx as *const _ as usize }, |
|
52usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip6_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip6_drop as *const _ as usize }, |
|
56usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip6_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).ip6_err as *const _ as usize }, |
|
60usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(ip6_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp4_tx as *const _ as usize }, |
|
64usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp4_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp4_rx as *const _ as usize }, |
|
68usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp4_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp4_drop as *const _ as usize }, |
|
72usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp4_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp4_err as *const _ as usize }, |
|
76usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp4_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp6_tx as *const _ as usize }, |
|
80usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp6_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp6_rx as *const _ as usize }, |
|
84usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp6_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp6_drop as *const _ as usize }, |
|
88usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp6_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).icmp6_err as *const _ as usize }, |
|
92usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(icmp6_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).udp_tx as *const _ as usize }, |
|
96usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(udp_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).udp_rx as *const _ as usize }, |
|
100usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(udp_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).udp_drop as *const _ as usize }, |
|
104usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(udp_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).udp_err as *const _ as usize }, |
|
108usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(udp_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).tcp_tx as *const _ as usize }, |
|
112usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(tcp_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).tcp_rx as *const _ as usize }, |
|
116usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(tcp_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).tcp_drop as *const _ as usize }, |
|
120usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(tcp_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).tcp_err as *const _ as usize }, |
|
124usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(tcp_err) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).nd6_tx as *const _ as usize }, |
|
128usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(nd6_tx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).nd6_rx as *const _ as usize }, |
|
132usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(nd6_rx) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).nd6_drop as *const _ as usize }, |
|
136usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(nd6_drop) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_stats_counter_t>())).nd6_err as *const _ as usize }, |
|
140usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_stats_counter_t), |
|
"::", |
|
stringify!(nd6_err) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get all statistical counters for all protocols and levels."] |
|
#[doc = " See also: lwip/stats.h."] |
|
#[doc = ""] |
|
#[doc = " This function can only be used in debug builds."] |
|
#[doc = ""] |
|
#[doc = " @param dst Pointer to structure that will be populated with statistics"] |
|
#[doc = ""] |
|
#[doc = " @return ZTS_ERR_OK on success. ZTS_ERR_ARG or ZTS_ERR_NO_RESULT on failure."] |
|
pub fn zts_stats_get_all(dst: *mut zts_stats_counter_t) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Create a socket"] |
|
#[doc = ""] |
|
#[doc = " @param family `ZTS_AF_INET` or `ZTS_AF_INET6`"] |
|
#[doc = " @param type `ZTS_SOCK_STREAM` or `ZTS_SOCK_DGRAM`"] |
|
#[doc = " @param protocol Protocols supported on this socket"] |
|
#[doc = " @return Numbered file descriptor on success, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_socket( |
|
family: ::std::os::raw::c_int, |
|
type_: ::std::os::raw::c_int, |
|
protocol: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Connect a socket to a remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param addr Remote host address to connect to"] |
|
#[doc = " @param addrlen Length of address"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_connect( |
|
fd: ::std::os::raw::c_int, |
|
addr: *const zts_sockaddr, |
|
addrlen: zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Bind a socket to a local address"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param addr Local interface address to bind to"] |
|
#[doc = " @param addrlen Length of address"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_bind( |
|
fd: ::std::os::raw::c_int, |
|
addr: *const zts_sockaddr, |
|
addrlen: zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Listen for incoming connections on socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param backlog Number of backlogged connections allowed"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_listen( |
|
fd: ::std::os::raw::c_int, |
|
backlog: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Accept an incoming connection"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param addr Address of remote host for accepted connection"] |
|
#[doc = " @param addrlen Length of address"] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_accept( |
|
fd: ::std::os::raw::c_int, |
|
addr: *mut zts_sockaddr, |
|
addrlen: *mut zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_linger { |
|
pub l_onoff: ::std::os::raw::c_int, |
|
pub l_linger: ::std::os::raw::c_int, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_linger() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_linger>(), |
|
8usize, |
|
concat!("Size of: ", stringify!(zts_linger)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_linger>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_linger)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_linger>())).l_onoff as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_linger), |
|
"::", |
|
stringify!(l_onoff) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_linger>())).l_linger as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_linger), |
|
"::", |
|
stringify!(l_linger) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_ip_mreq { |
|
pub imr_multiaddr: zts_in_addr, |
|
pub imr_interface: zts_in_addr, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ip_mreq() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ip_mreq>(), |
|
8usize, |
|
concat!("Size of: ", stringify!(zts_ip_mreq)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ip_mreq>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ip_mreq)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_mreq>())).imr_multiaddr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_mreq), |
|
"::", |
|
stringify!(imr_multiaddr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_mreq>())).imr_interface as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_mreq), |
|
"::", |
|
stringify!(imr_interface) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_in_pktinfo { |
|
pub ipi_ifindex: ::std::os::raw::c_uint, |
|
pub ipi_addr: zts_in_addr, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_in_pktinfo() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_in_pktinfo>(), |
|
8usize, |
|
concat!("Size of: ", stringify!(zts_in_pktinfo)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_in_pktinfo>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_in_pktinfo)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in_pktinfo>())).ipi_ifindex as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in_pktinfo), |
|
"::", |
|
stringify!(ipi_ifindex) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_in_pktinfo>())).ipi_addr as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_in_pktinfo), |
|
"::", |
|
stringify!(ipi_addr) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_ipv6_mreq { |
|
pub ipv6mr_multiaddr: zts_in6_addr, |
|
pub ipv6mr_interface: ::std::os::raw::c_uint, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ipv6_mreq() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ipv6_mreq>(), |
|
20usize, |
|
concat!("Size of: ", stringify!(zts_ipv6_mreq)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ipv6_mreq>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ipv6_mreq)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ipv6_mreq>())).ipv6mr_multiaddr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ipv6_mreq), |
|
"::", |
|
stringify!(ipv6mr_multiaddr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ipv6_mreq>())).ipv6mr_interface as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ipv6_mreq), |
|
"::", |
|
stringify!(ipv6mr_interface) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set socket options."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param level Protocol level to which option name should apply"] |
|
#[doc = " @param optname Option name to set"] |
|
#[doc = " @param optval Source of option value to set"] |
|
#[doc = " @param optlen Length of option value"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_setsockopt( |
|
fd: ::std::os::raw::c_int, |
|
level: ::std::os::raw::c_int, |
|
optname: ::std::os::raw::c_int, |
|
optval: *const ::std::os::raw::c_void, |
|
optlen: zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get socket options."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param level Protocol level to which option name should apply"] |
|
#[doc = " @param optname Option name to get"] |
|
#[doc = " @param optval Where option value will be stored"] |
|
#[doc = " @param optlen Length of value"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_getsockopt( |
|
fd: ::std::os::raw::c_int, |
|
level: ::std::os::raw::c_int, |
|
optname: ::std::os::raw::c_int, |
|
optval: *mut ::std::os::raw::c_void, |
|
optlen: *mut zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the name (address) of the local end of the socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param addr Name associated with this socket"] |
|
#[doc = " @param addrlen Length of name"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_getsockname( |
|
fd: ::std::os::raw::c_int, |
|
addr: *mut zts_sockaddr, |
|
addrlen: *mut zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the name (address) of the remote end of the socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param addr Name associated with remote end of this socket"] |
|
#[doc = " @param addrlen Length of name"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_getpeername( |
|
fd: ::std::os::raw::c_int, |
|
addr: *mut zts_sockaddr, |
|
addrlen: *mut zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Close socket."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_close(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_fd_set { |
|
pub fd_bits: [::std::os::raw::c_uchar; 128usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_fd_set() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_fd_set>(), |
|
128usize, |
|
concat!("Size of: ", stringify!(zts_fd_set)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_fd_set>(), |
|
1usize, |
|
concat!("Alignment of ", stringify!(zts_fd_set)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_fd_set>())).fd_bits as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_fd_set), |
|
"::", |
|
stringify!(fd_bits) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_timeval { |
|
pub tv_sec: ::std::os::raw::c_long, |
|
pub tv_usec: ::std::os::raw::c_long, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_timeval() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_timeval>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_timeval)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_timeval>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_timeval)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_timeval>())).tv_sec as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_timeval), |
|
"::", |
|
stringify!(tv_sec) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_timeval>())).tv_usec as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_timeval), |
|
"::", |
|
stringify!(tv_usec) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Monitor multiple file descriptors for \"readiness\""] |
|
#[doc = ""] |
|
#[doc = " @param nfds Set to the highest numbered file descriptor in any of the given"] |
|
#[doc = " sets"] |
|
#[doc = " @param readfds Set of file descriptors to monitor for READ readiness"] |
|
#[doc = " @param writefds Set of file descriptors to monitor for WRITE readiness"] |
|
#[doc = " @param exceptfds Set of file descriptors to monitor for exceptional"] |
|
#[doc = " conditions"] |
|
#[doc = " @param timeout How long this call should block"] |
|
#[doc = " @return Number of ready file descriptors on success. `ZTS_ERR_SOCKET`,"] |
|
#[doc = " `ZTS_ERR_SERVICE` on failure. Sets `zts_errno`"] |
|
pub fn zts_bsd_select( |
|
nfds: ::std::os::raw::c_int, |
|
readfds: *mut zts_fd_set, |
|
writefds: *mut zts_fd_set, |
|
exceptfds: *mut zts_fd_set, |
|
timeout: *mut zts_timeval, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Issue file control commands on a socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param cmd Operation to be performed"] |
|
#[doc = " @param flags Flags"] |
|
#[doc = " @return"] |
|
pub fn zts_bsd_fcntl( |
|
fd: ::std::os::raw::c_int, |
|
cmd: ::std::os::raw::c_int, |
|
flags: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
pub type zts_nfds_t = ::std::os::raw::c_uint; |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_pollfd { |
|
pub fd: ::std::os::raw::c_int, |
|
pub events: ::std::os::raw::c_short, |
|
pub revents: ::std::os::raw::c_short, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_pollfd() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_pollfd>(), |
|
8usize, |
|
concat!("Size of: ", stringify!(zts_pollfd)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_pollfd>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_pollfd)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_pollfd>())).fd as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_pollfd), |
|
"::", |
|
stringify!(fd) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_pollfd>())).events as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_pollfd), |
|
"::", |
|
stringify!(events) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_pollfd>())).revents as *const _ as usize }, |
|
6usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_pollfd), |
|
"::", |
|
stringify!(revents) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Wait for some event on a file descriptor."] |
|
#[doc = ""] |
|
#[doc = " @param fds Set of file descriptors to monitor"] |
|
#[doc = " @param nfds Number of elements in the fds array"] |
|
#[doc = " @param timeout How long this call should block"] |
|
#[doc = " @return Number of ready file descriptors if successful, `ZTS_ERR_SERVICE` if"] |
|
#[doc = " the node experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets"] |
|
#[doc = " `zts_errno`"] |
|
pub fn zts_bsd_poll( |
|
fds: *mut zts_pollfd, |
|
nfds: zts_nfds_t, |
|
timeout: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Control a device"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param request Selects the control function to be performed"] |
|
#[doc = " @param argp Additional information"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_ioctl( |
|
fd: ::std::os::raw::c_int, |
|
request: ::std::os::raw::c_ulong, |
|
argp: *mut ::std::os::raw::c_void, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Send data to remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data to write"] |
|
#[doc = " @param flags (e.g. `ZTS_MSG_DONTWAIT`, `ZTS_MSG_MORE`)"] |
|
#[doc = " @return Number of bytes sent if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_send( |
|
fd: ::std::os::raw::c_int, |
|
buf: *const ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Send data to remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data to write"] |
|
#[doc = " @param flags Specifies type of message transmission"] |
|
#[doc = " @param addr Destination address"] |
|
#[doc = " @param addrlen Length of destination address"] |
|
#[doc = " @return Number of bytes sent if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_sendto( |
|
fd: ::std::os::raw::c_int, |
|
buf: *const ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
addr: *const zts_sockaddr, |
|
addrlen: zts_socklen_t, |
|
) -> ssize_t; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_iovec { |
|
pub iov_base: *mut ::std::os::raw::c_void, |
|
pub iov_len: size_t, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_iovec() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_iovec>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_iovec)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_iovec>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_iovec)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_iovec>())).iov_base as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_iovec), |
|
"::", |
|
stringify!(iov_base) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_iovec>())).iov_len as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_iovec), |
|
"::", |
|
stringify!(iov_len) |
|
) |
|
); |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_msghdr { |
|
pub msg_name: *mut ::std::os::raw::c_void, |
|
pub msg_namelen: zts_socklen_t, |
|
pub msg_iov: *mut zts_iovec, |
|
pub msg_iovlen: ::std::os::raw::c_int, |
|
pub msg_control: *mut ::std::os::raw::c_void, |
|
pub msg_controllen: zts_socklen_t, |
|
pub msg_flags: ::std::os::raw::c_int, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_msghdr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_msghdr>(), |
|
48usize, |
|
concat!("Size of: ", stringify!(zts_msghdr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_msghdr>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_msghdr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_name as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_name) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_namelen as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_namelen) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_iov as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_iov) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_iovlen as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_iovlen) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_control as *const _ as usize }, |
|
32usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_control) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_controllen as *const _ as usize }, |
|
40usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_controllen) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_msghdr>())).msg_flags as *const _ as usize }, |
|
44usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_msghdr), |
|
"::", |
|
stringify!(msg_flags) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Send message to remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param msg Message to send"] |
|
#[doc = " @param flags Specifies type of message transmission"] |
|
#[doc = " @return Number of bytes sent if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_sendmsg( |
|
fd: ::std::os::raw::c_int, |
|
msg: *const zts_msghdr, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Receive data from remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data buffer"] |
|
#[doc = " @param flags Specifies the type of message receipt"] |
|
#[doc = " @return Number of bytes received if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_recv( |
|
fd: ::std::os::raw::c_int, |
|
buf: *mut ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Receive data from remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data buffer"] |
|
#[doc = " @param flags Specifies the type of message receipt"] |
|
#[doc = " @param addr Destination address buffer"] |
|
#[doc = " @param addrlen Length of destination address buffer"] |
|
#[doc = " @return Number of bytes received if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_recvfrom( |
|
fd: ::std::os::raw::c_int, |
|
buf: *mut ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
addr: *mut zts_sockaddr, |
|
addrlen: *mut zts_socklen_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Receive a message from remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param msg Message that was received"] |
|
#[doc = " @param flags Specifies the type of message receipt"] |
|
#[doc = " @return Number of bytes received if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_recvmsg( |
|
fd: ::std::os::raw::c_int, |
|
msg: *mut zts_msghdr, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Read data from socket onto buffer"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data buffer to receive data"] |
|
#[doc = " @return Number of bytes read if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_read( |
|
fd: ::std::os::raw::c_int, |
|
buf: *mut ::std::os::raw::c_void, |
|
len: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Read data from socket into multiple buffers"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param iov Array of destination buffers"] |
|
#[doc = " @param iovcnt Number of buffers to read into"] |
|
#[doc = " @return Number of bytes read if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_readv( |
|
fd: ::std::os::raw::c_int, |
|
iov: *const zts_iovec, |
|
iovcnt: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Write data from buffer to socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of buffer to write"] |
|
#[doc = " @return Number of bytes written if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_write( |
|
fd: ::std::os::raw::c_int, |
|
buf: *const ::std::os::raw::c_void, |
|
len: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Write data from multiple buffers to socket."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param iov Array of source buffers"] |
|
#[doc = " @param iovcnt Number of buffers to read from"] |
|
#[doc = " @return Number of bytes written if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_writev( |
|
fd: ::std::os::raw::c_int, |
|
iov: *const zts_iovec, |
|
iovcnt: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Shut down some aspect of a socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param how Which aspects of the socket should be shut down. Options are `ZTS_SHUT_RD`,"] |
|
#[doc = " `ZTS_SHUT_WR`, or `ZTS_SHUT_RDWR`."] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bsd_shutdown( |
|
fd: ::std::os::raw::c_int, |
|
how: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Create a socket"] |
|
#[doc = ""] |
|
#[doc = " @param family `ZTS_AF_INET` or `ZTS_AF_INET6`"] |
|
#[doc = " @param type `ZTS_SOCK_STREAM` or `ZTS_SOCK_DGRAM`"] |
|
#[doc = " @param protocol Protocols supported on this socket"] |
|
#[doc = " @return Numbered file descriptor on success, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_socket( |
|
family: ::std::os::raw::c_int, |
|
type_: ::std::os::raw::c_int, |
|
protocol: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Connect a socket to a remote host"] |
|
#[doc = ""] |
|
#[doc = " This convenience function exists because ZeroTier uses transport-triggered"] |
|
#[doc = " links. This means that links between peers do not exist until peers try to"] |
|
#[doc = " talk to each other. This can be a problem during connection procedures since"] |
|
#[doc = " some of the initial packets are lost. To alleviate the need to try"] |
|
#[doc = " `zts_bsd_connect` many times, this function will keep re-trying for you, even if"] |
|
#[doc = " no known routes exist. However, if the socket is set to `non-blocking` mode"] |
|
#[doc = " it will behave identically to `zts_bsd_connect` and return immediately upon"] |
|
#[doc = " failure."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param ipstr Human-readable IP string"] |
|
#[doc = " @param port Port"] |
|
#[doc = " @param timeout_ms (Approximate) amount of time in milliseconds before"] |
|
#[doc = " connection attempt is aborted. Will block for `30 seconds` if timeout is"] |
|
#[doc = " set to `0`."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SOCKET` if the function times"] |
|
#[doc = " out with no connection made, `ZTS_ERR_SERVICE` if the node experiences a"] |
|
#[doc = " problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_connect( |
|
fd: ::std::os::raw::c_int, |
|
ipstr: *const ::std::os::raw::c_char, |
|
port: ::std::os::raw::c_ushort, |
|
timeout_ms: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Bind a socket to a local address"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param ipstr Human-readable IP string"] |
|
#[doc = " @param port Port"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_bind( |
|
fd: ::std::os::raw::c_int, |
|
ipstr: *const ::std::os::raw::c_char, |
|
port: ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Listen for incoming connections on socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param backlog Number of backlogged connections allowed"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_listen( |
|
fd: ::std::os::raw::c_int, |
|
backlog: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Accept an incoming connection"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param remote_addr Buffer that will receive remote host IP string"] |
|
#[doc = " @param len Size of buffer that will receive remote host IP string"] |
|
#[doc = " (must be exactly `ZTS_IP_MAX_STR_LEN`)"] |
|
#[doc = " @param port Port number of the newly connected remote host (value-result)"] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_accept( |
|
fd: ::std::os::raw::c_int, |
|
remote_addr: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_int, |
|
port: *mut ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Send data to remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data to write"] |
|
#[doc = " @param flags (e.g. `ZTS_MSG_DONTWAIT`, `ZTS_MSG_MORE`)"] |
|
#[doc = " @return Number of bytes sent if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_send( |
|
fd: ::std::os::raw::c_int, |
|
buf: *const ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Receive data from remote host"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data buffer"] |
|
#[doc = " @param flags Specifies the type of message receipt"] |
|
#[doc = " @return Number of bytes received if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_recv( |
|
fd: ::std::os::raw::c_int, |
|
buf: *mut ::std::os::raw::c_void, |
|
len: size_t, |
|
flags: ::std::os::raw::c_int, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Read data from socket onto buffer"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of data buffer to receive data"] |
|
#[doc = " @return Number of bytes read if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_read( |
|
fd: ::std::os::raw::c_int, |
|
buf: *mut ::std::os::raw::c_void, |
|
len: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Write data from buffer to socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param buf Pointer to data buffer"] |
|
#[doc = " @param len Length of buffer to write"] |
|
#[doc = " @return Number of bytes written if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_write( |
|
fd: ::std::os::raw::c_int, |
|
buf: *const ::std::os::raw::c_void, |
|
len: size_t, |
|
) -> ssize_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Shut down `read` aspect of a socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_shutdown_rd(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Shut down `write` aspect of a socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_shutdown_wr(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Shut down both `read` and `write` aspect of a socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_shutdown_rdwr(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Close socket."] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_close(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the name (address) of the remote end of the socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param remote_addr_str Destination buffer to contain name (address) of the remote end of the socket"] |
|
#[doc = " @param len Length of destination buffer"] |
|
#[doc = " @param port Value-result parameter that will contain resultant port number"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_getpeername( |
|
fd: ::std::os::raw::c_int, |
|
remote_addr_str: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_int, |
|
port: *mut ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the name (address) of the local end of the socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param local_addr_str Destination buffer to contain name (address) of the local end of the socket"] |
|
#[doc = " @param len Length of destination buffer"] |
|
#[doc = " @param port Value-result parameter that will contain resultant port number"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_getsockname( |
|
fd: ::std::os::raw::c_int, |
|
local_addr_str: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_int, |
|
port: *mut ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief A convenience function that takes a remote address IP string and creates"] |
|
#[doc = " the appropriate type of socket, and uses it to connect to a remote host."] |
|
#[doc = ""] |
|
#[doc = " @param remote_ipstr Remote address string. IPv4 or IPv6"] |
|
#[doc = " @param remote_port Port to"] |
|
#[doc = ""] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_tcp_client( |
|
remote_ipstr: *const ::std::os::raw::c_char, |
|
remote_port: ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief A convenience function that takes a remote address IP string and creates"] |
|
#[doc = " the appropriate type of socket, binds, listens, and then accepts on it."] |
|
#[doc = ""] |
|
#[doc = " @param local_ipstr Local address to bind"] |
|
#[doc = " @param local_port Local port to bind"] |
|
#[doc = " @param remote_ipstr String-format IP address of newly connected remote host"] |
|
#[doc = " @param len Length of `remote_ipstr`"] |
|
#[doc = " @param remote_port Port of remote host"] |
|
#[doc = ""] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_tcp_server( |
|
local_ipstr: *const ::std::os::raw::c_char, |
|
local_port: ::std::os::raw::c_ushort, |
|
remote_ipstr: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_int, |
|
remote_port: *mut ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief A convenience function that takes a remote address IP string and creates"] |
|
#[doc = " the appropriate type of socket, and binds to it."] |
|
#[doc = ""] |
|
#[doc = " @param local_ipstr Local address to bind"] |
|
#[doc = " @param local_port Local port to bind"] |
|
#[doc = ""] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_udp_server( |
|
local_ipstr: *const ::std::os::raw::c_char, |
|
local_port: ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief This function doesn't really do anything other than be a namespace"] |
|
#[doc = " counterpart to `zts_udp_server`. All this function does is create a"] |
|
#[doc = " `ZTS_SOCK_DGRAM` socket and return its file descriptor."] |
|
#[doc = ""] |
|
#[doc = " @param remote_ipstr Remote address string. IPv4 or IPv6"] |
|
#[doc = ""] |
|
#[doc = " @return New file descriptor if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_udp_client(remote_ipstr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable `TCP_NODELAY`. Enabling this is equivalent to"] |
|
#[doc = " turning off Nagle's algorithm"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param enabled `[0, 1]` integer value"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_no_delay( |
|
fd: ::std::os::raw::c_int, |
|
enabled: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Get the last error for the given socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Error number defined in `zts_errno_t`. `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_last_socket_error(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return amount of data available to read from socket"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Number of bytes available to read. `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_data_available(fd: ::std::os::raw::c_int) -> size_t; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether `TCP_NODELAY` is enabled"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `1` if enabled, `0` if disabled, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_no_delay(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable `SO_LINGER` while also setting its value"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param enabled `[0, 1]` integer value"] |
|
#[doc = " @param value How long socket should linger"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_linger( |
|
fd: ::std::os::raw::c_int, |
|
enabled: ::std::os::raw::c_int, |
|
value: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether `SO_LINGER` is enabled"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `1` if enabled, `0` if disabled, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_linger_enabled(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `SO_LINGER`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `SO_LINGER` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_linger_value(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the number of bytes available to read from the network buffer"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Number of bytes to read if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_pending_data_size(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable `SO_REUSEADDR`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param enabled `[0, 1]` integer value"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_reuse_addr( |
|
fd: ::std::os::raw::c_int, |
|
enabled: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether `SO_REUSEADDR` is enabled"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `1` if enabled, `0` if disabled, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_reuse_addr(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the value of `SO_RCVTIMEO`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param seconds Number of seconds for timeout"] |
|
#[doc = " @param microseconds Number of microseconds for timeout"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_recv_timeout( |
|
fd: ::std::os::raw::c_int, |
|
seconds: ::std::os::raw::c_int, |
|
microseconds: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `SO_RCVTIMEO`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `SO_RCVTIMEO` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_recv_timeout(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the value of `SO_SNDTIMEO`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param seconds Number of seconds for timeout"] |
|
#[doc = " @param microseconds Number of microseconds for timeout"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_send_timeout( |
|
fd: ::std::os::raw::c_int, |
|
seconds: ::std::os::raw::c_int, |
|
microseconds: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `SO_SNDTIMEO`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `SO_SNDTIMEO` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_send_timeout(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the value of `SO_SNDBUF`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param size Size of buffer"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_send_buf_size( |
|
fd: ::std::os::raw::c_int, |
|
size: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `SO_SNDBUF`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `SO_SNDBUF` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_send_buf_size(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the value of `SO_RCVBUF`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param size Size of buffer"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_recv_buf_size( |
|
fd: ::std::os::raw::c_int, |
|
size: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `SO_RCVBUF`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `SO_RCVBUF` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_recv_buf_size(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Set the value of `IP_TTL`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param ttl Value of `IP_TTL`"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_ttl( |
|
fd: ::std::os::raw::c_int, |
|
ttl: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the value of `IP_TTL`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return Value of `IP_TTL` `[0,255]` if successful, `ZTS_ERR_SERVICE` if the"] |
|
#[doc = " node experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_ttl(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Change blocking behavior `O_NONBLOCK`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param enabled `[0, 1]` integer value, `1` maintains default behavior,"] |
|
#[doc = " `0` sets to non-blocking mode"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_blocking( |
|
fd: ::std::os::raw::c_int, |
|
enabled: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether blocking mode `O_NONBLOCK` is enabled"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `1` if enabled, `0` if disabled, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_blocking(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Enable or disable `SO_KEEPALIVE`"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @param enabled `[0, 1]` integer value"] |
|
#[doc = " @return `ZTS_ERR_OK` if successful, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_set_keepalive( |
|
fd: ::std::os::raw::c_int, |
|
enabled: ::std::os::raw::c_int, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return whether `SO_KEEPALIVE` is enabled"] |
|
#[doc = ""] |
|
#[doc = " @param fd Socket file descriptor"] |
|
#[doc = " @return `1` if enabled, `0` if disabled, `ZTS_ERR_SERVICE` if the node"] |
|
#[doc = " experiences a problem, `ZTS_ERR_ARG` if invalid argument. Sets `zts_errno`"] |
|
pub fn zts_get_keepalive(fd: ::std::os::raw::c_int) -> ::std::os::raw::c_int; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_hostent { |
|
pub h_name: *mut ::std::os::raw::c_char, |
|
pub h_aliases: *mut *mut ::std::os::raw::c_char, |
|
pub h_addrtype: ::std::os::raw::c_int, |
|
pub h_length: ::std::os::raw::c_int, |
|
pub h_addr_list: *mut *mut ::std::os::raw::c_char, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_hostent() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_hostent>(), |
|
32usize, |
|
concat!("Size of: ", stringify!(zts_hostent)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_hostent>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(zts_hostent)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_hostent>())).h_name as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_hostent), |
|
"::", |
|
stringify!(h_name) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_hostent>())).h_aliases as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_hostent), |
|
"::", |
|
stringify!(h_aliases) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_hostent>())).h_addrtype as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_hostent), |
|
"::", |
|
stringify!(h_addrtype) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_hostent>())).h_length as *const _ as usize }, |
|
20usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_hostent), |
|
"::", |
|
stringify!(h_length) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_hostent>())).h_addr_list as *const _ as usize }, |
|
24usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_hostent), |
|
"::", |
|
stringify!(h_addr_list) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Resolve a host-name"] |
|
#[doc = ""] |
|
#[doc = " @param name A null-terminated string representing the name of the host"] |
|
#[doc = " @return Pointer to struct zts_hostent if successful, NULL otherwise"] |
|
pub fn zts_bsd_gethostbyname(name: *const ::std::os::raw::c_char) -> *mut zts_hostent; |
|
} |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_ip4_addr { |
|
pub addr: u32, |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ip4_addr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ip4_addr>(), |
|
4usize, |
|
concat!("Size of: ", stringify!(zts_ip4_addr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ip4_addr>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ip4_addr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip4_addr>())).addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip4_addr), |
|
"::", |
|
stringify!(addr) |
|
) |
|
); |
|
} |
|
#[doc = " This is the aligned version of ip6_addr_t,"] |
|
#[doc = "used as local variable, on the stack, etc."] |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct zts_ip6_addr { |
|
pub addr: [u32; 4usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ip6_addr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ip6_addr>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_ip6_addr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ip6_addr>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ip6_addr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip6_addr>())).addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip6_addr), |
|
"::", |
|
stringify!(addr) |
|
) |
|
); |
|
} |
|
#[doc = " A union struct for both IP version's addresses."] |
|
#[doc = " ATTENTION: watch out for its size when adding IPv6 address scope!"] |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub struct zts_ip_addr { |
|
pub u_addr: zts_ip_addr__bindgen_ty_1, |
|
pub type_: u8, |
|
} |
|
#[repr(C)] |
|
#[derive(Copy, Clone)] |
|
pub union zts_ip_addr__bindgen_ty_1 { |
|
pub ip6: zts_ip6_addr, |
|
pub ip4: zts_ip4_addr, |
|
_bindgen_union_align: [u32; 4usize], |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ip_addr__bindgen_ty_1() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ip_addr__bindgen_ty_1>(), |
|
16usize, |
|
concat!("Size of: ", stringify!(zts_ip_addr__bindgen_ty_1)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ip_addr__bindgen_ty_1>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ip_addr__bindgen_ty_1)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_addr__bindgen_ty_1>())).ip6 as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_addr__bindgen_ty_1), |
|
"::", |
|
stringify!(ip6) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_addr__bindgen_ty_1>())).ip4 as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_addr__bindgen_ty_1), |
|
"::", |
|
stringify!(ip4) |
|
) |
|
); |
|
} |
|
#[test] |
|
fn bindgen_test_layout_zts_ip_addr() { |
|
assert_eq!( |
|
::std::mem::size_of::<zts_ip_addr>(), |
|
20usize, |
|
concat!("Size of: ", stringify!(zts_ip_addr)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<zts_ip_addr>(), |
|
4usize, |
|
concat!("Alignment of ", stringify!(zts_ip_addr)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_addr>())).u_addr as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_addr), |
|
"::", |
|
stringify!(u_addr) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<zts_ip_addr>())).type_ as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(zts_ip_addr), |
|
"::", |
|
stringify!(type_) |
|
) |
|
); |
|
} |
|
extern "C" { |
|
#[doc = " Initialize one of the DNS servers."] |
|
#[doc = ""] |
|
#[doc = " @param index the index of the DNS server to set must be `< DNS_MAX_SERVERS`"] |
|
#[doc = " @param addr IP address of the DNS server to set"] |
|
pub fn zts_dns_set_server(index: u8, addr: *const zts_ip_addr) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " Obtain one of the currently configured DNS server."] |
|
#[doc = ""] |
|
#[doc = " @param index the index of the DNS server"] |
|
#[doc = " @return IP address of the indexed DNS server or `ip_addr_any` if the DNS"] |
|
#[doc = " server has not been configured."] |
|
pub fn zts_dns_get_server(index: u8) -> *const zts_ip_addr; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_lock_obtain() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_lock_release() -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_addr_count(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_addr( |
|
net_id: u64, |
|
idx: ::std::os::raw::c_uint, |
|
addr: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_route_count(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_route( |
|
net_id: u64, |
|
idx: ::std::os::raw::c_uint, |
|
target: *mut ::std::os::raw::c_char, |
|
via: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
flags: *mut u16, |
|
metric: *mut u16, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_path_count(peer_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_path( |
|
peer_id: u64, |
|
idx: ::std::os::raw::c_uint, |
|
dst: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_uint, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_mc_count(net_id: u64) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Lock the core service so that queries about addresses, routes, paths, etc. can be"] |
|
#[doc = " performed."] |
|
#[doc = ""] |
|
#[doc = " Notice: Core locking functions are intended to be used by high-level language wrappers."] |
|
#[doc = " Only lock the core if you know *exactly* what you are doing. zts_core_lock_obtain() and"] |
|
#[doc = " zts_core_lock_release() must be called before and after this function."] |
|
#[doc = ""] |
|
#[doc = " @return `ZTS_ERR_OK` if successful. `ZTS_ERR_SERVICE` if the core service is unavailable."] |
|
pub fn zts_core_query_mc( |
|
net_id: u64, |
|
idx: ::std::os::raw::c_uint, |
|
mac: *mut u64, |
|
adi: *mut u32, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Generates a new root set definition"] |
|
#[doc = ""] |
|
#[doc = " @param roots_id The desired World ID (arbitrary)"] |
|
#[doc = " @param ts Timestamp indicating when this generation took place"] |
|
pub fn zts_util_sign_root_set( |
|
roots_out: *mut ::std::os::raw::c_char, |
|
roots_len: *mut ::std::os::raw::c_uint, |
|
prev_key: *mut ::std::os::raw::c_char, |
|
prev_key_len: *mut ::std::os::raw::c_uint, |
|
curr_key: *mut ::std::os::raw::c_char, |
|
curr_key_len: *mut ::std::os::raw::c_uint, |
|
id: u64, |
|
ts: u64, |
|
roots_spec: *mut zts_root_set_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Platform-agnostic delay"] |
|
#[doc = ""] |
|
#[doc = " @param milliseconds How long to delay"] |
|
pub fn zts_util_delay(milliseconds: ::std::os::raw::c_ulong); |
|
} |
|
extern "C" { |
|
#[doc = " @brief Return the family type of the IP string"] |
|
#[doc = ""] |
|
#[doc = " @param ipstr Either IPv4 or IPv6 string"] |
|
#[doc = " @return Either `ZTS_AF_INET` or `ZTS_AF_INET6`"] |
|
pub fn zts_util_get_ip_family(ipstr: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " Convert human-friendly IP string to `zts_sockaddr_in` or `zts_sockaddr_in6`."] |
|
#[doc = ""] |
|
#[doc = " @param src_ipstr Source IP string"] |
|
#[doc = " @param port Port"] |
|
#[doc = " @param dstaddr Pointer to destination structure `zts_sockaddr_in` or"] |
|
#[doc = " `zts_sockaddr_in6`"] |
|
#[doc = " @param addrlen Size of destination structure. Value-result: Will be set to"] |
|
#[doc = " actual size of data available"] |
|
#[doc = " @return return `ZTS_ERR_OK` on success, `ZTS_ERR_ARG` if invalid argument"] |
|
pub fn zts_util_ipstr_to_saddr( |
|
src_ipstr: *const ::std::os::raw::c_char, |
|
port: ::std::os::raw::c_ushort, |
|
dstaddr: *mut zts_sockaddr, |
|
addrlen: *mut zts_socklen_t, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " @brief Similar to `inet_ntop` but determines family automatically and returns"] |
|
#[doc = " port as a value result parameter."] |
|
#[doc = ""] |
|
#[doc = " @param addr Pointer to address structure"] |
|
#[doc = " @param addrlen Length of address structure"] |
|
#[doc = " @param dst_str Destination buffer"] |
|
#[doc = " @param len Length of destination buffer"] |
|
#[doc = " @param port Value-result parameter that will contain resultant port number"] |
|
#[doc = ""] |
|
#[doc = " @return return `ZTS_ERR_OK` on success, `ZTS_ERR_ARG` if invalid argument"] |
|
pub fn zts_util_ntop( |
|
addr: *mut zts_sockaddr, |
|
addrlen: zts_socklen_t, |
|
dst_str: *mut ::std::os::raw::c_char, |
|
len: ::std::os::raw::c_int, |
|
port: *mut ::std::os::raw::c_ushort, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " Convert numeric IP address (both versions) into `ASCII` representation."] |
|
#[doc = " returns ptr to static buffer. Not reentrant."] |
|
#[doc = ""] |
|
#[doc = " @param addr IP address in network order to convert"] |
|
#[doc = " @return Pointer to a global static (!) buffer that holds the `ASCII`"] |
|
#[doc = " representation of addr"] |
|
pub fn zts_ipaddr_ntoa(addr: *const zts_ip_addr) -> *mut ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
#[doc = " Convert IP address string (both versions) to numeric."] |
|
#[doc = " The version is auto-detected from the string."] |
|
#[doc = ""] |
|
#[doc = " @param cp IP address string to convert"] |
|
#[doc = " @param addr conversion result is stored here"] |
|
#[doc = " @return `1` on success, `0` on error"] |
|
pub fn zts_ipaddr_aton( |
|
cp: *const ::std::os::raw::c_char, |
|
addr: *mut zts_ip_addr, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
extern "C" { |
|
#[doc = " Convert IPv4 and IPv6 address structures to human-readable text form."] |
|
#[doc = ""] |
|
#[doc = " @param family Address family: `ZTS_AF_INET` or `ZTS_AF_INET6`"] |
|
#[doc = " @param src Pointer to source address structure"] |
|
#[doc = " @param dst Pointer to destination character array"] |
|
#[doc = " @param size Size of the destination buffer"] |
|
#[doc = " @return On success, returns a non-null pointer to the destination character"] |
|
#[doc = " array"] |
|
pub fn zts_inet_ntop( |
|
family: ::std::os::raw::c_int, |
|
src: *const ::std::os::raw::c_void, |
|
dst: *mut ::std::os::raw::c_char, |
|
size: zts_socklen_t, |
|
) -> *const ::std::os::raw::c_char; |
|
} |
|
extern "C" { |
|
#[doc = " Convert C-string IPv4 and IPv6 addresses to binary form."] |
|
#[doc = ""] |
|
#[doc = " @param family Address family: `ZTS_AF_INET` or `ZTS_AF_INET6`"] |
|
#[doc = " @param src Pointer to source character array"] |
|
#[doc = " @param dst Pointer to destination address structure"] |
|
#[doc = " @return return `1` on success. `0` or `-1` on failure. (Does not follow regular"] |
|
#[doc = " `zts_*` conventions)"] |
|
pub fn zts_inet_pton( |
|
family: ::std::os::raw::c_int, |
|
src: *const ::std::os::raw::c_char, |
|
dst: *mut ::std::os::raw::c_void, |
|
) -> ::std::os::raw::c_int; |
|
} |
|
pub type __builtin_va_list = [__va_list_tag; 1usize]; |
|
#[repr(C)] |
|
#[derive(Debug, Copy, Clone)] |
|
pub struct __va_list_tag { |
|
pub gp_offset: ::std::os::raw::c_uint, |
|
pub fp_offset: ::std::os::raw::c_uint, |
|
pub overflow_arg_area: *mut ::std::os::raw::c_void, |
|
pub reg_save_area: *mut ::std::os::raw::c_void, |
|
} |
|
#[test] |
|
fn bindgen_test_layout___va_list_tag() { |
|
assert_eq!( |
|
::std::mem::size_of::<__va_list_tag>(), |
|
24usize, |
|
concat!("Size of: ", stringify!(__va_list_tag)) |
|
); |
|
assert_eq!( |
|
::std::mem::align_of::<__va_list_tag>(), |
|
8usize, |
|
concat!("Alignment of ", stringify!(__va_list_tag)) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).gp_offset as *const _ as usize }, |
|
0usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__va_list_tag), |
|
"::", |
|
stringify!(gp_offset) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).fp_offset as *const _ as usize }, |
|
4usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__va_list_tag), |
|
"::", |
|
stringify!(fp_offset) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).overflow_arg_area as *const _ as usize }, |
|
8usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__va_list_tag), |
|
"::", |
|
stringify!(overflow_arg_area) |
|
) |
|
); |
|
assert_eq!( |
|
unsafe { &(*(::std::ptr::null::<__va_list_tag>())).reg_save_area as *const _ as usize }, |
|
16usize, |
|
concat!( |
|
"Offset of field: ", |
|
stringify!(__va_list_tag), |
|
"::", |
|
stringify!(reg_save_area) |
|
) |
|
); |
|
}
|
|
|