[INFO] fetching crate ntfs-3g-sys 0.1.0...
[INFO] checking ntfs-3g-sys-0.1.0 against master#39cb3386ddc6c71657418be28dbb3987eea4aa4b for pr-133536
[INFO] extracting crate ntfs-3g-sys 0.1.0 into /workspace/builds/worker-3-tc1/source
[INFO] validating manifest of crates.io crate ntfs-3g-sys 0.1.0 on toolchain 39cb3386ddc6c71657418be28dbb3987eea4aa4b
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate ntfs-3g-sys 0.1.0
[INFO] finished tweaking crates.io crate ntfs-3g-sys 0.1.0
[INFO] tweaked toml for crates.io crate ntfs-3g-sys 0.1.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]      Locking 58 packages to latest compatible versions
[INFO] [stderr]       Adding bindgen v0.53.3 (available: v0.70.1)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] eb04920fc26312d0c94cf8cf5930de81113052da18dbd6c154b92c78c11eaf9d
[INFO] running `Command { std: "docker" "start" "-a" "eb04920fc26312d0c94cf8cf5930de81113052da18dbd6c154b92c78c11eaf9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "eb04920fc26312d0c94cf8cf5930de81113052da18dbd6c154b92c78c11eaf9d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "eb04920fc26312d0c94cf8cf5930de81113052da18dbd6c154b92c78c11eaf9d", kill_on_drop: false }`
[INFO] [stdout] eb04920fc26312d0c94cf8cf5930de81113052da18dbd6c154b92c78c11eaf9d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:4a844ea9eb2546a2d2c7022eacef16ef2e8229c7fbb2c7d4d55a9ceca922f72d" "/opt/rustwide/cargo-home/bin/cargo" "+39cb3386ddc6c71657418be28dbb3987eea4aa4b" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] fd753f645c81714fac6ad1eb8c21fffae730736c89cbdc9c4b0a822fa644c63e
[INFO] running `Command { std: "docker" "start" "-a" "fd753f645c81714fac6ad1eb8c21fffae730736c89cbdc9c4b0a822fa644c63e", kill_on_drop: false }`
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling memchr v2.7.4
[INFO] [stderr]    Compiling glob v0.3.1
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling proc-macro2 v1.0.92
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling nom v5.1.3
[INFO] [stderr]    Compiling libc v0.2.167
[INFO] [stderr]    Compiling cc v1.2.2
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling clang-sys v0.29.3
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling log v0.4.22
[INFO] [stderr]    Compiling bindgen v0.53.3
[INFO] [stderr]    Compiling which v3.1.1
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling quote v1.0.37
[INFO] [stderr]    Compiling shlex v0.1.1
[INFO] [stderr]    Compiling peeking_take_while v0.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling cfg-if v0.1.10
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling lazycell v1.3.0
[INFO] [stderr]    Compiling autotools v0.2.7
[INFO] [stderr]    Compiling psm v0.1.24
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling stacker v0.1.17
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling rm_rf v0.6.2
[INFO] [stderr]    Compiling cexpr v0.4.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling ntfs-3g-sys v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0507]: cannot move out of `self.resident_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:97037
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.resident_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               --------------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.non_resident_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:99290
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                                                                                                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.non_resident_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ------------------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.compressed_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:99408
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                                                                                                                                                                                                                                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.compressed_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  ----------------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.v1_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:108957
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.v1_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               --------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.v3_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:110380
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.v3_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              --------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.name` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:117386
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.name` has type `__IncompleteArrayField<u16>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u16>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            ---------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.name` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:179614
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layo...
[INFO] [stdout]   |                         -----                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.name` has type `__IncompleteArrayField<u16>`, which does not implement the `Copy` trait
[INFO] [stdout]   |                         |
[INFO] [stdout]   |                         in this derive macro expansion
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u16>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                ---------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.data` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:182960
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layou...
[INFO] [stdout]   |                           -----                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.data` has type `__IncompleteArrayField<u8>`, which does not implement the `Copy` trait
[INFO] [stdout]   |                           |
[INFO] [stdout]   |                           in this derive macro expansion
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u8>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  --------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.bitmap` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:210657
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_lay...
[INFO] [stdout]   |                         -----                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.bitmap` has type `__IncompleteArrayField<u8>`, which does not implement the `Copy` trait
[INFO] [stdout]   |                         |
[INFO] [stdout]   |                         in this derive macro expansion
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u8>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   ----------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.reparse_data` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:215917
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.reparse_data` has type `__IncompleteArrayField<u8>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u8>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_BITMAP_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < BITMAP_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < BITMAP_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BITMAP_ATTR > ())) . bitmap as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BITMAP_ATTR) , "::" , stringify ! (bitmap))) ; } pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DIRECTORY : PREDEFINED_REPARSE_TAGS = 268435456 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_ALIAS : PREDEFINED_REPARSE_TAGS = 536870912 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_HIGH_LATENCY : PREDEFINED_REPARSE_TAGS = 1073741824 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_MICROSOFT : PREDEFINED_REPARSE_TAGS = 2147483648 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ZERO : PREDEFINED_REPARSE_TAGS = 0 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ONE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_RANGE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CSV : PREDEFINED_REPARSE_TAGS = 2147483657 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DEDUP : PREDEFINED_REPARSE_TAGS = 2147483667 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFS : PREDEFINED_REPARSE_TAGS = 2147483658 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFSR : PREDEFINED_REPARSE_TAGS = 2147483666 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM : PREDEFINED_REPARSE_TAGS = 3221225476 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM2 : PREDEFINED_REPARSE_TAGS = 2147483654 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_MOUNT_POINT : PREDEFINED_REPARSE_TAGS = 2684354563 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_NFS : PREDEFINED_REPARSE_TAGS = 2147483668 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SIS : PREDEFINED_REPARSE_TAGS = 2147483655 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354572 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WIM : PREDEFINED_REPARSE_TAGS = 2147483656 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFM : PREDEFINED_REPARSE_TAGS = 2147483670 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WOF : PREDEFINED_REPARSE_TAGS = 2147483671 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WCI : PREDEFINED_REPARSE_TAGS = 2147483672 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CLOUD : PREDEFINED_REPARSE_TAGS = 2415919130 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_APPEXECLINK : PREDEFINED_REPARSE_TAGS = 2147483675 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_GVFS : PREDEFINED_REPARSE_TAGS = 2415919132 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354589 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_AF_UNIX : PREDEFINED_REPARSE_TAGS = 2147483683 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_FIFO : PREDEFINED_REPARSE_TAGS = 2147483684 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_CHR : PREDEFINED_REPARSE_TAGS = 2147483685 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_BLK : PREDEFINED_REPARSE_TAGS = 2147483686 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_VALID_VALUES : PREDEFINED_REPARSE_TAGS = 4026597375 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_PLUGIN_SELECT : PREDEFINED_REPARSE_TAGS = 4294905855 ; # [doc = " enum PREDEFINED_REPARSE_TAGS -"] # [doc = ""] # [doc = " The reparse point tag defines the type of the reparse point. It also"] # [doc = " includes several flags, which further describe the reparse point."] # [doc = ""] # [doc = " The reparse point tag is an unsigned 32-bit value divided in three parts:"] # [doc = ""] # [doc = " 1. The least significant 16 bits (i.e. bits 0 to 15) specify the type of"] # [doc = "    the reparse point."] # [doc = " 2. The 12 bits after this (i.e. bits 16 to 27) are reserved for future use."] # [doc = " 3. The most significant four bits are flags describing the reparse point."] # [doc = "    They are defined as follows:"] # [doc = "\tbit 28: Directory bit. If set, the directory is not a surrogate"] # [doc = "\t\tand can be used the usual way."] # [doc = "\tbit 29: Name surrogate bit. If set, the filename is an alias for"] # [doc = "\t\tanother object in the system."] # [doc = "\tbit 30: High-latency bit. If set, accessing the first byte of data will"] # [doc = "\t\tbe slow. (E.g. the data is stored on a tape drive.)"] # [doc = "\tbit 31: Microsoft bit. If set, the tag is owned by Microsoft. User"] # [doc = "\t\tdefined tags have to use zero here."] # [doc = " 4. Moreover, on Windows 10 :"] # [doc = "\tSome flags may be used in bits 12 to 15 to further describe the"] # [doc = "\treparse point."] pub type PREDEFINED_REPARSE_TAGS = u32 ; # [doc = " struct REPARSE_POINT - Attribute: Reparse point (0xc0)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [repr (C , packed)] # [derive (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               ----------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.name` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:219215
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.name` has type `__IncompleteArrayField<u8>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u8>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_BITMAP_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < BITMAP_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < BITMAP_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BITMAP_ATTR > ())) . bitmap as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BITMAP_ATTR) , "::" , stringify ! (bitmap))) ; } pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DIRECTORY : PREDEFINED_REPARSE_TAGS = 268435456 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_ALIAS : PREDEFINED_REPARSE_TAGS = 536870912 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_HIGH_LATENCY : PREDEFINED_REPARSE_TAGS = 1073741824 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_MICROSOFT : PREDEFINED_REPARSE_TAGS = 2147483648 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ZERO : PREDEFINED_REPARSE_TAGS = 0 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ONE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_RANGE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CSV : PREDEFINED_REPARSE_TAGS = 2147483657 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DEDUP : PREDEFINED_REPARSE_TAGS = 2147483667 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFS : PREDEFINED_REPARSE_TAGS = 2147483658 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFSR : PREDEFINED_REPARSE_TAGS = 2147483666 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM : PREDEFINED_REPARSE_TAGS = 3221225476 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM2 : PREDEFINED_REPARSE_TAGS = 2147483654 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_MOUNT_POINT : PREDEFINED_REPARSE_TAGS = 2684354563 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_NFS : PREDEFINED_REPARSE_TAGS = 2147483668 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SIS : PREDEFINED_REPARSE_TAGS = 2147483655 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354572 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WIM : PREDEFINED_REPARSE_TAGS = 2147483656 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFM : PREDEFINED_REPARSE_TAGS = 2147483670 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WOF : PREDEFINED_REPARSE_TAGS = 2147483671 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WCI : PREDEFINED_REPARSE_TAGS = 2147483672 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CLOUD : PREDEFINED_REPARSE_TAGS = 2415919130 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_APPEXECLINK : PREDEFINED_REPARSE_TAGS = 2147483675 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_GVFS : PREDEFINED_REPARSE_TAGS = 2415919132 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354589 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_AF_UNIX : PREDEFINED_REPARSE_TAGS = 2147483683 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_FIFO : PREDEFINED_REPARSE_TAGS = 2147483684 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_CHR : PREDEFINED_REPARSE_TAGS = 2147483685 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_BLK : PREDEFINED_REPARSE_TAGS = 2147483686 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_VALID_VALUES : PREDEFINED_REPARSE_TAGS = 4026597375 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_PLUGIN_SELECT : PREDEFINED_REPARSE_TAGS = 4294905855 ; # [doc = " enum PREDEFINED_REPARSE_TAGS -"] # [doc = ""] # [doc = " The reparse point tag defines the type of the reparse point. It also"] # [doc = " includes several flags, which further describe the reparse point."] # [doc = ""] # [doc = " The reparse point tag is an unsigned 32-bit value divided in three parts:"] # [doc = ""] # [doc = " 1. The least significant 16 bits (i.e. bits 0 to 15) specify the type of"] # [doc = "    the reparse point."] # [doc = " 2. The 12 bits after this (i.e. bits 16 to 27) are reserved for future use."] # [doc = " 3. The most significant four bits are flags describing the reparse point."] # [doc = "    They are defined as follows:"] # [doc = "\tbit 28: Directory bit. If set, the directory is not a surrogate"] # [doc = "\t\tand can be used the usual way."] # [doc = "\tbit 29: Name surrogate bit. If set, the filename is an alias for"] # [doc = "\t\tanother object in the system."] # [doc = "\tbit 30: High-latency bit. If set, accessing the first byte of data will"] # [doc = "\t\tbe slow. (E.g. the data is stored on a tape drive.)"] # [doc = "\tbit 31: Microsoft bit. If set, the tag is owned by Microsoft. User"] # [doc = "\t\tdefined tags have to use zero here."] # [doc = " 4. Moreover, on Windows 10 :"] # [doc = "\tSome flags may be used in bits 12 to 15 to further describe the"] # [doc = "\treparse point."] pub type PREDEFINED_REPARSE_TAGS = u32 ; # [doc = " struct REPARSE_POINT - Attribute: Reparse point (0xc0)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [repr (C , packed)] # [derive (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_REPARSE_POINT () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_POINT > () , 8usize , concat ! ("Size of: " , stringify ! (REPARSE_POINT))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_POINT > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_POINT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reserved as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data))) ; } # [doc = " struct EA_INFORMATION - Attribute: Extended attribute information (0xd0)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EA_INFORMATION { pub ea_length : le16 , pub need_ea_count : le16 , pub ea_query_length : le32 , } # [test] fn bindgen_test_layout_EA_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < EA_INFORMATION > () , 8usize , concat ! ("Size of: " , stringify ! (EA_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . need_ea_count as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (need_ea_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_query_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_query_length))) ; } pub const EA_FLAGS_NEED_EA : EA_FLAGS = 128 ; # [doc = " enum EA_FLAGS - Extended attribute flags (8-bit)."] pub type EA_FLAGS = u8 ; # [doc = " struct EA_ATTR - Attribute: Extended attribute (EA) (0xe0)."] # [doc = ""] # [doc = " Like the attribute list and the index buffer list, the EA attribute value is"] # [doc = " a sequence of EA_ATTR variable length records."] # [doc = ""] # [doc = " FIXME: It appears weird that the EA name is not Unicode. Is it true?"] # [doc = " FIXME: It seems that name is always uppercased. Is it true?"] # [repr (C , packed)] # [derive (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 --------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.value` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:219263
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , pub value : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.value` has type `__IncompleteArrayField<u8>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u8>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_BITMAP_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < BITMAP_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < BITMAP_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BITMAP_ATTR > ())) . bitmap as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BITMAP_ATTR) , "::" , stringify ! (bitmap))) ; } pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DIRECTORY : PREDEFINED_REPARSE_TAGS = 268435456 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_ALIAS : PREDEFINED_REPARSE_TAGS = 536870912 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_HIGH_LATENCY : PREDEFINED_REPARSE_TAGS = 1073741824 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_MICROSOFT : PREDEFINED_REPARSE_TAGS = 2147483648 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ZERO : PREDEFINED_REPARSE_TAGS = 0 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ONE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_RANGE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CSV : PREDEFINED_REPARSE_TAGS = 2147483657 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DEDUP : PREDEFINED_REPARSE_TAGS = 2147483667 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFS : PREDEFINED_REPARSE_TAGS = 2147483658 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFSR : PREDEFINED_REPARSE_TAGS = 2147483666 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM : PREDEFINED_REPARSE_TAGS = 3221225476 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM2 : PREDEFINED_REPARSE_TAGS = 2147483654 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_MOUNT_POINT : PREDEFINED_REPARSE_TAGS = 2684354563 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_NFS : PREDEFINED_REPARSE_TAGS = 2147483668 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SIS : PREDEFINED_REPARSE_TAGS = 2147483655 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354572 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WIM : PREDEFINED_REPARSE_TAGS = 2147483656 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFM : PREDEFINED_REPARSE_TAGS = 2147483670 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WOF : PREDEFINED_REPARSE_TAGS = 2147483671 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WCI : PREDEFINED_REPARSE_TAGS = 2147483672 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CLOUD : PREDEFINED_REPARSE_TAGS = 2415919130 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_APPEXECLINK : PREDEFINED_REPARSE_TAGS = 2147483675 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_GVFS : PREDEFINED_REPARSE_TAGS = 2415919132 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354589 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_AF_UNIX : PREDEFINED_REPARSE_TAGS = 2147483683 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_FIFO : PREDEFINED_REPARSE_TAGS = 2147483684 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_CHR : PREDEFINED_REPARSE_TAGS = 2147483685 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_BLK : PREDEFINED_REPARSE_TAGS = 2147483686 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_VALID_VALUES : PREDEFINED_REPARSE_TAGS = 4026597375 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_PLUGIN_SELECT : PREDEFINED_REPARSE_TAGS = 4294905855 ; # [doc = " enum PREDEFINED_REPARSE_TAGS -"] # [doc = ""] # [doc = " The reparse point tag defines the type of the reparse point. It also"] # [doc = " includes several flags, which further describe the reparse point."] # [doc = ""] # [doc = " The reparse point tag is an unsigned 32-bit value divided in three parts:"] # [doc = ""] # [doc = " 1. The least significant 16 bits (i.e. bits 0 to 15) specify the type of"] # [doc = "    the reparse point."] # [doc = " 2. The 12 bits after this (i.e. bits 16 to 27) are reserved for future use."] # [doc = " 3. The most significant four bits are flags describing the reparse point."] # [doc = "    They are defined as follows:"] # [doc = "\tbit 28: Directory bit. If set, the directory is not a surrogate"] # [doc = "\t\tand can be used the usual way."] # [doc = "\tbit 29: Name surrogate bit. If set, the filename is an alias for"] # [doc = "\t\tanother object in the system."] # [doc = "\tbit 30: High-latency bit. If set, accessing the first byte of data will"] # [doc = "\t\tbe slow. (E.g. the data is stored on a tape drive.)"] # [doc = "\tbit 31: Microsoft bit. If set, the tag is owned by Microsoft. User"] # [doc = "\t\tdefined tags have to use zero here."] # [doc = " 4. Moreover, on Windows 10 :"] # [doc = "\tSome flags may be used in bits 12 to 15 to further describe the"] # [doc = "\treparse point."] pub type PREDEFINED_REPARSE_TAGS = u32 ; # [doc = " struct REPARSE_POINT - Attribute: Reparse point (0xc0)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [repr (C , packed)] # [derive (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_REPARSE_POINT () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_POINT > () , 8usize , concat ! ("Size of: " , stringify ! (REPARSE_POINT))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_POINT > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_POINT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reserved as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data))) ; } # [doc = " struct EA_INFORMATION - Attribute: Extended attribute information (0xd0)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EA_INFORMATION { pub ea_length : le16 , pub need_ea_count : le16 , pub ea_query_length : le32 , } # [test] fn bindgen_test_layout_EA_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < EA_INFORMATION > () , 8usize , concat ! ("Size of: " , stringify ! (EA_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . need_ea_count as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (need_ea_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_query_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_query_length))) ; } pub const EA_FLAGS_NEED_EA : EA_FLAGS = 128 ; # [doc = " enum EA_FLAGS - Extended attribute flags (8-bit)."] pub type EA_FLAGS = u8 ; # [doc = " struct EA_ATTR - Attribute: Extended attribute (EA) (0xe0)."] # [doc = ""] # [doc = " Like the attribute list and the index buffer list, the EA attribute value is"] # [doc = " a sequence of EA_ATTR variable length records."] # [doc = ""] # [doc = " FIXME: It appears weird that the EA name is not Unicode. Is it true?"] # [doc = " FIXME: It seems that name is always uppercased. Is it true?"] # [repr (C , packed)] # [derive (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , pub value : __IncompleteArrayField < ntfs_u8 > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 ---------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.device_end` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:237225
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct INTX_FILE__bindgen_ty_1__bindgen_ty_1 { pub major : le64 , pub minor : le64 , pub device_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.device_end` has type `__IncompleteArrayField<*mut c_void>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<*mut c_void>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_BITMAP_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < BITMAP_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < BITMAP_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BITMAP_ATTR > ())) . bitmap as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BITMAP_ATTR) , "::" , stringify ! (bitmap))) ; } pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DIRECTORY : PREDEFINED_REPARSE_TAGS = 268435456 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_ALIAS : PREDEFINED_REPARSE_TAGS = 536870912 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_HIGH_LATENCY : PREDEFINED_REPARSE_TAGS = 1073741824 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_MICROSOFT : PREDEFINED_REPARSE_TAGS = 2147483648 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ZERO : PREDEFINED_REPARSE_TAGS = 0 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ONE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_RANGE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CSV : PREDEFINED_REPARSE_TAGS = 2147483657 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DEDUP : PREDEFINED_REPARSE_TAGS = 2147483667 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFS : PREDEFINED_REPARSE_TAGS = 2147483658 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFSR : PREDEFINED_REPARSE_TAGS = 2147483666 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM : PREDEFINED_REPARSE_TAGS = 3221225476 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM2 : PREDEFINED_REPARSE_TAGS = 2147483654 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_MOUNT_POINT : PREDEFINED_REPARSE_TAGS = 2684354563 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_NFS : PREDEFINED_REPARSE_TAGS = 2147483668 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SIS : PREDEFINED_REPARSE_TAGS = 2147483655 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354572 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WIM : PREDEFINED_REPARSE_TAGS = 2147483656 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFM : PREDEFINED_REPARSE_TAGS = 2147483670 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WOF : PREDEFINED_REPARSE_TAGS = 2147483671 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WCI : PREDEFINED_REPARSE_TAGS = 2147483672 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CLOUD : PREDEFINED_REPARSE_TAGS = 2415919130 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_APPEXECLINK : PREDEFINED_REPARSE_TAGS = 2147483675 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_GVFS : PREDEFINED_REPARSE_TAGS = 2415919132 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354589 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_AF_UNIX : PREDEFINED_REPARSE_TAGS = 2147483683 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_FIFO : PREDEFINED_REPARSE_TAGS = 2147483684 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_CHR : PREDEFINED_REPARSE_TAGS = 2147483685 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_BLK : PREDEFINED_REPARSE_TAGS = 2147483686 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_VALID_VALUES : PREDEFINED_REPARSE_TAGS = 4026597375 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_PLUGIN_SELECT : PREDEFINED_REPARSE_TAGS = 4294905855 ; # [doc = " enum PREDEFINED_REPARSE_TAGS -"] # [doc = ""] # [doc = " The reparse point tag defines the type of the reparse point. It also"] # [doc = " includes several flags, which further describe the reparse point."] # [doc = ""] # [doc = " The reparse point tag is an unsigned 32-bit value divided in three parts:"] # [doc = ""] # [doc = " 1. The least significant 16 bits (i.e. bits 0 to 15) specify the type of"] # [doc = "    the reparse point."] # [doc = " 2. The 12 bits after this (i.e. bits 16 to 27) are reserved for future use."] # [doc = " 3. The most significant four bits are flags describing the reparse point."] # [doc = "    They are defined as follows:"] # [doc = "\tbit 28: Directory bit. If set, the directory is not a surrogate"] # [doc = "\t\tand can be used the usual way."] # [doc = "\tbit 29: Name surrogate bit. If set, the filename is an alias for"] # [doc = "\t\tanother object in the system."] # [doc = "\tbit 30: High-latency bit. If set, accessing the first byte of data will"] # [doc = "\t\tbe slow. (E.g. the data is stored on a tape drive.)"] # [doc = "\tbit 31: Microsoft bit. If set, the tag is owned by Microsoft. User"] # [doc = "\t\tdefined tags have to use zero here."] # [doc = " 4. Moreover, on Windows 10 :"] # [doc = "\tSome flags may be used in bits 12 to 15 to further describe the"] # [doc = "\treparse point."] pub type PREDEFINED_REPARSE_TAGS = u32 ; # [doc = " struct REPARSE_POINT - Attribute: Reparse point (0xc0)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [repr (C , packed)] # [derive (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_REPARSE_POINT () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_POINT > () , 8usize , concat ! ("Size of: " , stringify ! (REPARSE_POINT))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_POINT > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_POINT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reserved as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data))) ; } # [doc = " struct EA_INFORMATION - Attribute: Extended attribute information (0xd0)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EA_INFORMATION { pub ea_length : le16 , pub need_ea_count : le16 , pub ea_query_length : le32 , } # [test] fn bindgen_test_layout_EA_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < EA_INFORMATION > () , 8usize , concat ! ("Size of: " , stringify ! (EA_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . need_ea_count as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (need_ea_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_query_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_query_length))) ; } pub const EA_FLAGS_NEED_EA : EA_FLAGS = 128 ; # [doc = " enum EA_FLAGS - Extended attribute flags (8-bit)."] pub type EA_FLAGS = u8 ; # [doc = " struct EA_ATTR - Attribute: Extended attribute (EA) (0xe0)."] # [doc = ""] # [doc = " Like the attribute list and the index buffer list, the EA attribute value is"] # [doc = " a sequence of EA_ATTR variable length records."] # [doc = ""] # [doc = " FIXME: It appears weird that the EA name is not Unicode. Is it true?"] # [doc = " FIXME: It seems that name is always uppercased. Is it true?"] # [repr (C , packed)] # [derive (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , pub value : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_EA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < EA_ATTR > () , 8usize , concat ! ("Size of: " , stringify ! (EA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . next_entry_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (next_entry_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . name_length as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . value_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . name as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . value as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (value))) ; } # [doc = " struct PROPERTY_SET - Attribute: Property set (0xf0)."] # [doc = ""] # [doc = " Intended to support Native Structure Storage (NSS) - a feature removed from"] # [doc = " NTFS 3.0 during beta testing."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct PROPERTY_SET { } # [test] fn bindgen_test_layout_PROPERTY_SET () { assert_eq ! (:: std :: mem :: size_of :: < PROPERTY_SET > () , 0usize , concat ! ("Size of: " , stringify ! (PROPERTY_SET))) ; assert_eq ! (:: std :: mem :: align_of :: < PROPERTY_SET > () , 1usize , concat ! ("Alignment of " , stringify ! (PROPERTY_SET))) ; } # [doc = " struct LOGGED_UTILITY_STREAM - Attribute: Logged utility stream (0x100)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Operations on this attribute are logged to the journal ($LogFile) like"] # [doc = " normal metadata changes."] # [doc = ""] # [doc = " Used by the Encrypting File System (EFS).  All encrypted files have this"] # [doc = " attribute with the name $EFS.  See below for the relevant structures."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct LOGGED_UTILITY_STREAM { } # [test] fn bindgen_test_layout_LOGGED_UTILITY_STREAM () { assert_eq ! (:: std :: mem :: size_of :: < LOGGED_UTILITY_STREAM > () , 0usize , concat ! ("Size of: " , stringify ! (LOGGED_UTILITY_STREAM))) ; assert_eq ! (:: std :: mem :: align_of :: < LOGGED_UTILITY_STREAM > () , 1usize , concat ! ("Alignment of " , stringify ! (LOGGED_UTILITY_STREAM))) ; } # [doc = " struct EFS_ATTR_HEADER - \"$EFS\" header."] # [doc = ""] # [doc = " The header of the Logged utility stream (0x100) attribute named \"$EFS\"."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_ATTR_HEADER { pub length : le32 , pub state : le32 , pub version : le32 , pub crypto_api_version : le32 , pub unknown4 : [ntfs_u8 ; 16usize] , pub unknown5 : [ntfs_u8 ; 16usize] , pub unknown6 : [ntfs_u8 ; 16usize] , pub offset_to_ddf_array : le32 , pub offset_to_drf_array : le32 , pub reserved : le32 , } # [test] fn bindgen_test_layout_EFS_ATTR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_ATTR_HEADER > () , 76usize , concat ! ("Size of: " , stringify ! (EFS_ATTR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_ATTR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_ATTR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . state as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . version as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . crypto_api_version as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (crypto_api_version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown4 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown5 as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown5))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown6 as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown6))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . offset_to_ddf_array as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (offset_to_ddf_array))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . offset_to_drf_array as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (offset_to_drf_array))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . reserved as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct EFS_DF_ARRAY_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_ARRAY_HEADER { pub df_count : le32 , } # [test] fn bindgen_test_layout_EFS_DF_ARRAY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_ARRAY_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (EFS_DF_ARRAY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_ARRAY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_ARRAY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_ARRAY_HEADER > ())) . df_count as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_ARRAY_HEADER) , "::" , stringify ! (df_count))) ; } # [doc = " struct EFS_DF_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_HEADER { pub df_length : le32 , pub cred_header_offset : le32 , pub fek_size : le32 , pub fek_offset : le32 , pub unknown1 : le32 , } # [test] fn bindgen_test_layout_EFS_DF_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (EFS_DF_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . df_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (df_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . cred_header_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (cred_header_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . fek_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (fek_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . fek_offset as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (fek_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . unknown1 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (unknown1))) ; } # [doc = " struct EFS_DF_CREDENTIAL_HEADER -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER { pub cred_length : le32 , pub sid_offset : le32 , pub type_ : le32 , pub __bindgen_anon_1 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 { pub __bindgen_anon_1 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [u8 ; 16usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 { pub container_name_offset : le32 , pub provider_name_offset : le32 , pub public_key_blob_offset : le32 , pub public_key_blob_size : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . container_name_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (container_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . provider_name_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (provider_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . public_key_blob_offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (public_key_blob_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . public_key_blob_size as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (public_key_blob_size))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 { pub cert_thumbprint_header_size : le32 , pub cert_thumbprint_header_offset : le32 , pub unknown1 : le32 , pub unknown2 : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . cert_thumbprint_header_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (cert_thumbprint_header_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . cert_thumbprint_header_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (cert_thumbprint_header_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . unknown1 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (unknown1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . unknown2 as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (unknown2))) ; } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER > () , 28usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . cred_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (cred_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . sid_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (sid_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . type_ as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (type_))) ; } pub type EFS_DF_CRED_HEADER = EFS_DF_CREDENTIAL_HEADER ; # [doc = " struct EFS_DF_CERTIFICATE_THUMBPRINT_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CERTIFICATE_THUMBPRINT_HEADER { pub thumbprint_offset : le32 , pub thumbprint_size : le32 , pub container_name_offset : le32 , pub provider_name_offset : le32 , pub user_name_offset : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CERTIFICATE_THUMBPRINT_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . thumbprint_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (thumbprint_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . thumbprint_size as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (thumbprint_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . container_name_offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (container_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . provider_name_offset as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (provider_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . user_name_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (user_name_offset))) ; } pub type EFS_DF_CERT_THUMBPRINT_HEADER = EFS_DF_CERTIFICATE_THUMBPRINT_HEADER ; pub const INTX_FILE_TYPES_INTX_SYMBOLIC_LINK : INTX_FILE_TYPES = 93254307636604489 ; pub const INTX_FILE_TYPES_INTX_CHARACTER_DEVICE : INTX_FILE_TYPES = 23160402711178825 ; pub const INTX_FILE_TYPES_INTX_BLOCK_DEVICE : INTX_FILE_TYPES = 21194471625748041 ; pub type INTX_FILE_TYPES = u64 ; # [repr (C , packed)] pub struct INTX_FILE { pub magic : INTX_FILE_TYPES , pub __bindgen_anon_1 : INTX_FILE__bindgen_ty_1 , } # [repr (C , packed)] pub struct INTX_FILE__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > , pub target : __BindgenUnionField < [ntfschar ; 0usize] > , pub bindgen_union_field : [u8 ; 16usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct INTX_FILE__bindgen_ty_1__bindgen_ty_1 { pub major : le64 , pub minor : le64 , pub device_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ------------------------------------------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:65524
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:66026
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:66498
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6us...
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:66738
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...ries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usiz...
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:67205
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 1...
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:67452
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , ...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:67703
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usiz...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:67930
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17...
[INFO] [stdout]   |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:68175
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21...
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:69680
[INFO] [stdout]   |
[INFO] [stdout] 3 | ... (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize ,...
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:71067
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40...
[INFO] [stdout]   |                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:71310
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...ectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize...
[INFO] [stdout]   |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.lcn_list` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:395211
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct LOG_RECORD__bindgen_ty_1__bindgen_ty_1 { pub undo_offset : le16 , pub undo_length : le16 , pub target_attribute : le16 , pub lcns_to_follow : le16 , pub record_offset : le16 , pub attribute_offset : le16 , pub cluster_index : le16 , pub attribute_flags : ATTRIBUTE_FLAGS , pub target_vcn : leVCN , pub lcn_list : __IncompleteArrayField < leLCN > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                                                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.lcn_list` has type `__IncompleteArrayField<u64>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u64>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)] pub struct __IncompleteArrayField < T > (:: std :: marker :: PhantomData < T > , [T ; 0]) ; impl < T > __IncompleteArrayField < T > { # [inline] pub const fn new () -> Self { __IncompleteArrayField (:: std :: marker :: PhantomData , []) } # [inline] pub fn as_ptr (& self) -> * const T { self as * const _ as * const T } # [inline] pub fn as_mut_ptr (& mut self) -> * mut T { self as * mut _ as * mut T } # [inline] pub unsafe fn as_slice (& self , len : usize) -> & [T] { :: std :: slice :: from_raw_parts (self . as_ptr () , len) } # [inline] pub unsafe fn as_mut_slice (& mut self , len : usize) -> & mut [T] { :: std :: slice :: from_raw_parts_mut (self . as_mut_ptr () , len) } } impl < T > :: std :: fmt :: Debug for __IncompleteArrayField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__IncompleteArrayField") } } # [repr (C)] pub struct __BindgenUnionField < T > (:: std :: marker :: PhantomData < T >) ; impl < T > __BindgenUnionField < T > { # [inline] pub const fn new () -> Self { __BindgenUnionField (:: std :: marker :: PhantomData) } # [inline] pub unsafe fn as_ref (& self) -> & T { :: std :: mem :: transmute (self) } # [inline] pub unsafe fn as_mut (& mut self) -> & mut T { :: std :: mem :: transmute (self) } } impl < T > :: std :: default :: Default for __BindgenUnionField < T > { # [inline] fn default () -> Self { Self :: new () } } impl < T > :: std :: clone :: Clone for __BindgenUnionField < T > { # [inline] fn clone (& self) -> Self { Self :: new () } } impl < T > :: std :: marker :: Copy for __BindgenUnionField < T > { } impl < T > :: std :: fmt :: Debug for __BindgenUnionField < T > { fn fmt (& self , fmt : & mut :: std :: fmt :: Formatter < '_ >) -> :: std :: fmt :: Result { fmt . write_str ("__BindgenUnionField") } } impl < T > :: std :: hash :: Hash for __BindgenUnionField < T > { fn hash < H : :: std :: hash :: Hasher > (& self , _state : & mut H) { } } impl < T > :: std :: cmp :: PartialEq for __BindgenUnionField < T > { fn eq (& self , _other : & __BindgenUnionField < T >) -> bool { true } } impl < T > :: std :: cmp :: Eq for __BindgenUnionField < T > { } pub const _SYS_TYPES_H : u32 = 1 ; pub const _FEATURES_H : u32 = 1 ; pub const _DEFAULT_SOURCE : u32 = 1 ; pub const __GLIBC_USE_ISOC2X : u32 = 0 ; pub const __USE_ISOC11 : u32 = 1 ; pub const __USE_ISOC99 : u32 = 1 ; pub const __USE_ISOC95 : u32 = 1 ; pub const __USE_POSIX_IMPLICITLY : u32 = 1 ; pub const _POSIX_SOURCE : u32 = 1 ; pub const _POSIX_C_SOURCE : u32 = 200809 ; pub const __USE_POSIX : u32 = 1 ; pub const __USE_POSIX2 : u32 = 1 ; pub const __USE_POSIX199309 : u32 = 1 ; pub const __USE_POSIX199506 : u32 = 1 ; pub const __USE_XOPEN2K : u32 = 1 ; pub const __USE_XOPEN2K8 : u32 = 1 ; pub const _ATFILE_SOURCE : u32 = 1 ; pub const __WORDSIZE : u32 = 64 ; pub const __WORDSIZE_TIME64_COMPAT32 : u32 = 1 ; pub const __SYSCALL_WORDSIZE : u32 = 64 ; pub const __TIMESIZE : u32 = 64 ; pub const __USE_MISC : u32 = 1 ; pub const __USE_ATFILE : u32 = 1 ; pub const __USE_FORTIFY_LEVEL : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_GETS : u32 = 0 ; pub const __GLIBC_USE_DEPRECATED_SCANF : u32 = 0 ; pub const _STDC_PREDEF_H : u32 = 1 ; pub const __STDC_IEC_559__ : u32 = 1 ; pub const __STDC_IEC_60559_BFP__ : u32 = 201404 ; pub const __STDC_IEC_559_COMPLEX__ : u32 = 1 ; pub const __STDC_IEC_60559_COMPLEX__ : u32 = 201404 ; pub const __STDC_ISO_10646__ : u32 = 201706 ; pub const __GNU_LIBRARY__ : u32 = 6 ; pub const __GLIBC__ : u32 = 2 ; pub const __GLIBC_MINOR__ : u32 = 35 ; pub const _SYS_CDEFS_H : u32 = 1 ; pub const __glibc_c99_flexarr_available : u32 = 1 ; pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI : u32 = 0 ; pub const __HAVE_GENERIC_SELECTION : u32 = 1 ; pub const _BITS_TYPES_H : u32 = 1 ; pub const _BITS_TYPESIZES_H : u32 = 1 ; pub const __OFF_T_MATCHES_OFF64_T : u32 = 1 ; pub const __INO_T_MATCHES_INO64_T : u32 = 1 ; pub const __RLIM_T_MATCHES_RLIM64_T : u32 = 1 ; pub const __STATFS_MATCHES_STATFS64 : u32 = 1 ; pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 : u32 = 1 ; pub const __FD_SETSIZE : u32 = 1024 ; pub const _BITS_TIME64_H : u32 = 1 ; pub const __clock_t_defined : u32 = 1 ; pub const __clockid_t_defined : u32 = 1 ; pub const __time_t_defined : u32 = 1 ; pub const __timer_t_defined : u32 = 1 ; pub const _BITS_STDINT_INTN_H : u32 = 1 ; pub const __BIT_TYPES_DEFINED__ : u32 = 1 ; pub const _ENDIAN_H : u32 = 1 ; pub const _BITS_ENDIAN_H : u32 = 1 ; pub const __LITTLE_ENDIAN : u32 = 1234 ; pub const __BIG_ENDIAN : u32 = 4321 ; pub const __PDP_ENDIAN : u32 = 3412 ; pub const _BITS_ENDIANNESS_H : u32 = 1 ; pub const __BYTE_ORDER : u32 = 1234 ; pub const __FLOAT_WORD_ORDER : u32 = 1234 ; pub const LITTLE_ENDIAN : u32 = 1234 ; pub const BIG_ENDIAN : u32 = 4321 ; pub const PDP_ENDIAN : u32 = 3412 ; pub const BYTE_ORDER : u32 = 1234 ; pub const _BITS_BYTESWAP_H : u32 = 1 ; pub const _BITS_UINTN_IDENTITY_H : u32 = 1 ; pub const _SYS_SELECT_H : u32 = 1 ; pub const __sigset_t_defined : u32 = 1 ; pub const __timeval_defined : u32 = 1 ; pub const _STRUCT_TIMESPEC : u32 = 1 ; pub const FD_SETSIZE : u32 = 1024 ; pub const _BITS_PTHREADTYPES_COMMON_H : u32 = 1 ; pub const _THREAD_SHARED_TYPES_H : u32 = 1 ; pub const _BITS_PTHREADTYPES_ARCH_H : u32 = 1 ; pub const __SIZEOF_PTHREAD_MUTEX_T : u32 = 40 ; pub const __SIZEOF_PTHREAD_ATTR_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_RWLOCK_T : u32 = 56 ; pub const __SIZEOF_PTHREAD_BARRIER_T : u32 = 32 ; pub const __SIZEOF_PTHREAD_MUTEXATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_COND_T : u32 = 48 ; pub const __SIZEOF_PTHREAD_CONDATTR_T : u32 = 4 ; pub const __SIZEOF_PTHREAD_RWLOCKATTR_T : u32 = 8 ; pub const __SIZEOF_PTHREAD_BARRIERATTR_T : u32 = 4 ; pub const _THREAD_MUTEX_INTERNAL_H : u32 = 1 ; pub const __PTHREAD_MUTEX_HAVE_PREV : u32 = 1 ; pub const __have_pthread_attr_t : u32 = 1 ; pub const __GNUC_VA_LIST : u32 = 1 ; pub const _TIME_H : u32 = 1 ; pub const _BITS_TIME_H : u32 = 1 ; pub const CLOCK_REALTIME : u32 = 0 ; pub const CLOCK_MONOTONIC : u32 = 1 ; pub const CLOCK_PROCESS_CPUTIME_ID : u32 = 2 ; pub const CLOCK_THREAD_CPUTIME_ID : u32 = 3 ; pub const CLOCK_MONOTONIC_RAW : u32 = 4 ; pub const CLOCK_REALTIME_COARSE : u32 = 5 ; pub const CLOCK_MONOTONIC_COARSE : u32 = 6 ; pub const CLOCK_BOOTTIME : u32 = 7 ; pub const CLOCK_REALTIME_ALARM : u32 = 8 ; pub const CLOCK_BOOTTIME_ALARM : u32 = 9 ; pub const CLOCK_TAI : u32 = 11 ; pub const TIMER_ABSTIME : u32 = 1 ; pub const __struct_tm_defined : u32 = 1 ; pub const __itimerspec_defined : u32 = 1 ; pub const _BITS_TYPES_LOCALE_T_H : u32 = 1 ; pub const _BITS_TYPES___LOCALE_T_H : u32 = 1 ; pub const TIME_UTC : u32 = 1 ; pub const _STDINT_H : u32 = 1 ; pub const __GLIBC_USE_LIB_EXT2 : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X : u32 = 0 ; pub const __GLIBC_USE_IEC_60559_TYPES_EXT : u32 = 0 ; pub const _BITS_WCHAR_H : u32 = 1 ; pub const _BITS_STDINT_UINTN_H : u32 = 1 ; pub const INT8_MIN : i32 = - 128 ; pub const INT16_MIN : i32 = - 32768 ; pub const INT32_MIN : i32 = - 2147483648 ; pub const INT8_MAX : u32 = 127 ; pub const INT16_MAX : u32 = 32767 ; pub const INT32_MAX : u32 = 2147483647 ; pub const UINT8_MAX : u32 = 255 ; pub const UINT16_MAX : u32 = 65535 ; pub const UINT32_MAX : u32 = 4294967295 ; pub const INT_LEAST8_MIN : i32 = - 128 ; pub const INT_LEAST16_MIN : i32 = - 32768 ; pub const INT_LEAST32_MIN : i32 = - 2147483648 ; pub const INT_LEAST8_MAX : u32 = 127 ; pub const INT_LEAST16_MAX : u32 = 32767 ; pub const INT_LEAST32_MAX : u32 = 2147483647 ; pub const UINT_LEAST8_MAX : u32 = 255 ; pub const UINT_LEAST16_MAX : u32 = 65535 ; pub const UINT_LEAST32_MAX : u32 = 4294967295 ; pub const INT_FAST8_MIN : i32 = - 128 ; pub const INT_FAST16_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST32_MIN : i64 = - 9223372036854775808 ; pub const INT_FAST8_MAX : u32 = 127 ; pub const INT_FAST16_MAX : u64 = 9223372036854775807 ; pub const INT_FAST32_MAX : u64 = 9223372036854775807 ; pub const UINT_FAST8_MAX : u32 = 255 ; pub const UINT_FAST16_MAX : i32 = - 1 ; pub const UINT_FAST32_MAX : i32 = - 1 ; pub const INTPTR_MIN : i64 = - 9223372036854775808 ; pub const INTPTR_MAX : u64 = 9223372036854775807 ; pub const UINTPTR_MAX : i32 = - 1 ; pub const PTRDIFF_MIN : i64 = - 9223372036854775808 ; pub const PTRDIFF_MAX : u64 = 9223372036854775807 ; pub const SIG_ATOMIC_MIN : i32 = - 2147483648 ; pub const SIG_ATOMIC_MAX : u32 = 2147483647 ; pub const SIZE_MAX : i32 = - 1 ; pub const WINT_MIN : u32 = 0 ; pub const WINT_MAX : u32 = 4294967295 ; pub const UCHAR_T_SIZE_BITS : u32 = 1 ; pub const STATUS_OK : u32 = 0 ; pub const STATUS_ERROR : i32 = - 1 ; pub const STATUS_RESIDENT_ATTRIBUTE_FILLED_MFT : i32 = - 2 ; pub const STATUS_KEEP_SEARCHING : i32 = - 3 ; pub const STATUS_NOT_FOUND : i32 = - 4 ; pub const NTFS_DEV_LIST : & 'static [u8 ; 27usize] = b"ntfs-3g-devel@lists.sf.net\0" ; pub const NTFS_SB_MAGIC : u32 = 1397118030 ; pub const NTFS_BLOCK_SIZE : u32 = 512 ; pub const NTFS_BLOCK_SIZE_BITS : u32 = 9 ; pub const MFT_REF_MASK_CPU : u64 = 281474976710655 ; pub const NTFS_MAX_NAME_LEN : u32 = 255 ; pub const CACHE_INODE_SIZE : u32 = 32 ; pub const CACHE_NIDATA_SIZE : u32 = 64 ; pub const CACHE_LOOKUP_SIZE : u32 = 64 ; pub const CACHE_SECURID_SIZE : u32 = 16 ; pub const CACHE_LEGACY_SIZE : u32 = 8 ; pub const FORCE_FORMAT_v1x : u32 = 0 ; pub const OWNERFROMACL : u32 = 1 ; pub const NTFS_MAX_CLUSTER_SIZE : u32 = 2097152 ; pub const DEFAULT_COMPRESSION : u32 = 1 ; pub const STANDARD_COMPRESSION_UNIT : u32 = 4 ; pub const MAX_COMPRESSION_CLUSTER_SIZE : u32 = 4096 ; pub const DEFAULT_DMTIME : u32 = 60 ; pub const SAFE_CAPACITY_FOR_BIG_WRITES : u64 = 4294967296 ; pub const PARTIAL_RUNLIST_UPDATING : u32 = 1 ; pub const UPCASE_MAJOR : u32 = 6 ; pub const UPCASE_MINOR : u32 = 1 ; pub const XATTRMAPPINGFILE : & 'static [u8 ; 22usize] = b".NTFS-3G/XattrMapping\0" ; pub const MAPPERNAMELTH : u32 = 256 ; pub const TIMEOUT_RO : u32 = 600 ; pub const HPERMSCONFIG : u32 = 1 ; pub const LPERMSCONFIG : u32 = 3 ; pub const NTFS_LOG_LEVEL_DEBUG : u32 = 1 ; pub const NTFS_LOG_LEVEL_TRACE : u32 = 2 ; pub const NTFS_LOG_LEVEL_QUIET : u32 = 4 ; pub const NTFS_LOG_LEVEL_INFO : u32 = 8 ; pub const NTFS_LOG_LEVEL_VERBOSE : u32 = 16 ; pub const NTFS_LOG_LEVEL_PROGRESS : u32 = 32 ; pub const NTFS_LOG_LEVEL_WARNING : u32 = 64 ; pub const NTFS_LOG_LEVEL_ERROR : u32 = 128 ; pub const NTFS_LOG_LEVEL_PERROR : u32 = 256 ; pub const NTFS_LOG_LEVEL_CRITICAL : u32 = 512 ; pub const NTFS_LOG_LEVEL_ENTER : u32 = 1024 ; pub const NTFS_LOG_LEVEL_LEAVE : u32 = 2048 ; pub const NTFS_LOG_FLAG_PREFIX : u32 = 1 ; pub const NTFS_LOG_FLAG_FILENAME : u32 = 2 ; pub const NTFS_LOG_FLAG_LINE : u32 = 4 ; pub const NTFS_LOG_FLAG_FUNCTION : u32 = 8 ; pub const NTFS_LOG_FLAG_ONLYNAME : u32 = 16 ; pub const MAX_PARENT_VCN : u32 = 32 ; pub const NTFS_BUF_SIZE : u32 = 8192 ; pub const PATH_SEP : u8 = 47u8 ; pub const NTFS_DT_UNKNOWN : u32 = 0 ; pub const NTFS_DT_FIFO : u32 = 1 ; pub const NTFS_DT_CHR : u32 = 2 ; pub const NTFS_DT_DIR : u32 = 4 ; pub const NTFS_DT_BLK : u32 = 6 ; pub const NTFS_DT_REG : u32 = 8 ; pub const NTFS_DT_LNK : u32 = 10 ; pub const NTFS_DT_SOCK : u32 = 12 ; pub const NTFS_DT_WHT : u32 = 14 ; pub const NTFS_DT_REPARSE : u32 = 32 ; pub const POSIXACLS : u32 = 0 ; pub const MAGIC_API : u32 = 151265289 ; pub const BUFSZ : u32 = 1024 ; pub const MAPPINGFILE : & 'static [u8 ; 21usize] = b".NTFS-3G/UserMapping\0" ; pub const LINESZ : u32 = 120 ; pub const CACHE_PERMISSIONS_BITS : u32 = 6 ; pub const CACHE_PERMISSIONS_SIZE : u32 = 262144 ; pub const NTFS_COLLATION_ERROR : i32 = - 2 ; pub const _ERRNO_H : u32 = 1 ; pub const _BITS_ERRNO_H : u32 = 1 ; pub const EPERM : u32 = 1 ; pub const ENOENT : u32 = 2 ; pub const ESRCH : u32 = 3 ; pub const EINTR : u32 = 4 ; pub const EIO : u32 = 5 ; pub const ENXIO : u32 = 6 ; pub const E2BIG : u32 = 7 ; pub const ENOEXEC : u32 = 8 ; pub const EBADF : u32 = 9 ; pub const ECHILD : u32 = 10 ; pub const EAGAIN : u32 = 11 ; pub const ENOMEM : u32 = 12 ; pub const EACCES : u32 = 13 ; pub const EFAULT : u32 = 14 ; pub const ENOTBLK : u32 = 15 ; pub const EBUSY : u32 = 16 ; pub const EEXIST : u32 = 17 ; pub const EXDEV : u32 = 18 ; pub const ENODEV : u32 = 19 ; pub const ENOTDIR : u32 = 20 ; pub const EISDIR : u32 = 21 ; pub const EINVAL : u32 = 22 ; pub const ENFILE : u32 = 23 ; pub const EMFILE : u32 = 24 ; pub const ENOTTY : u32 = 25 ; pub const ETXTBSY : u32 = 26 ; pub const EFBIG : u32 = 27 ; pub const ENOSPC : u32 = 28 ; pub const ESPIPE : u32 = 29 ; pub const EROFS : u32 = 30 ; pub const EMLINK : u32 = 31 ; pub const EPIPE : u32 = 32 ; pub const EDOM : u32 = 33 ; pub const ERANGE : u32 = 34 ; pub const EDEADLK : u32 = 35 ; pub const ENAMETOOLONG : u32 = 36 ; pub const ENOLCK : u32 = 37 ; pub const ENOSYS : u32 = 38 ; pub const ENOTEMPTY : u32 = 39 ; pub const ELOOP : u32 = 40 ; pub const EWOULDBLOCK : u32 = 11 ; pub const ENOMSG : u32 = 42 ; pub const EIDRM : u32 = 43 ; pub const ECHRNG : u32 = 44 ; pub const EL2NSYNC : u32 = 45 ; pub const EL3HLT : u32 = 46 ; pub const EL3RST : u32 = 47 ; pub const ELNRNG : u32 = 48 ; pub const EUNATCH : u32 = 49 ; pub const ENOCSI : u32 = 50 ; pub const EL2HLT : u32 = 51 ; pub const EBADE : u32 = 52 ; pub const EBADR : u32 = 53 ; pub const EXFULL : u32 = 54 ; pub const ENOANO : u32 = 55 ; pub const EBADRQC : u32 = 56 ; pub const EBADSLT : u32 = 57 ; pub const EDEADLOCK : u32 = 35 ; pub const EBFONT : u32 = 59 ; pub const ENOSTR : u32 = 60 ; pub const ENODATA : u32 = 61 ; pub const ETIME : u32 = 62 ; pub const ENOSR : u32 = 63 ; pub const ENONET : u32 = 64 ; pub const ENOPKG : u32 = 65 ; pub const EREMOTE : u32 = 66 ; pub const ENOLINK : u32 = 67 ; pub const EADV : u32 = 68 ; pub const ESRMNT : u32 = 69 ; pub const ECOMM : u32 = 70 ; pub const EPROTO : u32 = 71 ; pub const EMULTIHOP : u32 = 72 ; pub const EDOTDOT : u32 = 73 ; pub const EBADMSG : u32 = 74 ; pub const EOVERFLOW : u32 = 75 ; pub const ENOTUNIQ : u32 = 76 ; pub const EBADFD : u32 = 77 ; pub const EREMCHG : u32 = 78 ; pub const ELIBACC : u32 = 79 ; pub const ELIBBAD : u32 = 80 ; pub const ELIBSCN : u32 = 81 ; pub const ELIBMAX : u32 = 82 ; pub const ELIBEXEC : u32 = 83 ; pub const EILSEQ : u32 = 84 ; pub const ERESTART : u32 = 85 ; pub const ESTRPIPE : u32 = 86 ; pub const EUSERS : u32 = 87 ; pub const ENOTSOCK : u32 = 88 ; pub const EDESTADDRREQ : u32 = 89 ; pub const EMSGSIZE : u32 = 90 ; pub const EPROTOTYPE : u32 = 91 ; pub const ENOPROTOOPT : u32 = 92 ; pub const EPROTONOSUPPORT : u32 = 93 ; pub const ESOCKTNOSUPPORT : u32 = 94 ; pub const EOPNOTSUPP : u32 = 95 ; pub const EPFNOSUPPORT : u32 = 96 ; pub const EAFNOSUPPORT : u32 = 97 ; pub const EADDRINUSE : u32 = 98 ; pub const EADDRNOTAVAIL : u32 = 99 ; pub const ENETDOWN : u32 = 100 ; pub const ENETUNREACH : u32 = 101 ; pub const ENETRESET : u32 = 102 ; pub const ECONNABORTED : u32 = 103 ; pub const ECONNRESET : u32 = 104 ; pub const ENOBUFS : u32 = 105 ; pub const EISCONN : u32 = 106 ; pub const ENOTCONN : u32 = 107 ; pub const ESHUTDOWN : u32 = 108 ; pub const ETOOMANYREFS : u32 = 109 ; pub const ETIMEDOUT : u32 = 110 ; pub const ECONNREFUSED : u32 = 111 ; pub const EHOSTDOWN : u32 = 112 ; pub const EHOSTUNREACH : u32 = 113 ; pub const EALREADY : u32 = 114 ; pub const EINPROGRESS : u32 = 115 ; pub const ESTALE : u32 = 116 ; pub const EUCLEAN : u32 = 117 ; pub const ENOTNAM : u32 = 118 ; pub const ENAVAIL : u32 = 119 ; pub const EISNAM : u32 = 120 ; pub const EREMOTEIO : u32 = 121 ; pub const EDQUOT : u32 = 122 ; pub const ENOMEDIUM : u32 = 123 ; pub const EMEDIUMTYPE : u32 = 124 ; pub const ECANCELED : u32 = 125 ; pub const ENOKEY : u32 = 126 ; pub const EKEYEXPIRED : u32 = 127 ; pub const EKEYREVOKED : u32 = 128 ; pub const EKEYREJECTED : u32 = 129 ; pub const EOWNERDEAD : u32 = 130 ; pub const ENOTRECOVERABLE : u32 = 131 ; pub const ERFKILL : u32 = 132 ; pub const EHWPOISON : u32 = 133 ; pub const ENOTSUP : u32 = 95 ; pub const NTFS_NOXATTR_ERRNO : u32 = 61 ; pub const PATH_MAX : u32 = 4096 ; pub const O_BINARY : u32 = 0 ; pub const MaxLogFileSize : u64 = 4294967296 ; pub const DefaultLogPageSize : u32 = 4096 ; pub const MinLogRecordPages : u32 = 48 ; pub const LOGFILE_NO_CLIENT_CPU : u32 = 65535 ; pub const LOG_RECORD_HEAD_SZ : u32 = 48 ; pub const XATTR_CREATE : u32 = 1 ; pub const XATTR_REPLACE : u32 = 2 ; pub type size_t = :: std :: os :: raw :: c_ulong ; pub type wchar_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [repr (align (16))] # [derive (Debug , Copy , Clone)] pub struct max_align_t { pub __clang_max_align_nonce1 : :: std :: os :: raw :: c_longlong , pub __bindgen_padding_0 : u64 , pub __clang_max_align_nonce2 : u128 , } # [test] fn bindgen_test_layout_max_align_t () { assert_eq ! (:: std :: mem :: size_of :: < max_align_t > () , 32usize , concat ! ("Size of: " , stringify ! (max_align_t))) ; assert_eq ! (:: std :: mem :: align_of :: < max_align_t > () , 16usize , concat ! ("Alignment of " , stringify ! (max_align_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < max_align_t > ())) . __clang_max_align_nonce2 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (max_align_t) , "::" , stringify ! (__clang_max_align_nonce2))) ; } pub type __u_char = :: std :: os :: raw :: c_uchar ; pub type __u_short = :: std :: os :: raw :: c_ushort ; pub type __u_int = :: std :: os :: raw :: c_uint ; pub type __u_long = :: std :: os :: raw :: c_ulong ; 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_long ; pub type __uint64_t = :: std :: os :: raw :: c_ulong ; pub type __int_least8_t = __int8_t ; pub type __uint_least8_t = __uint8_t ; pub type __int_least16_t = __int16_t ; pub type __uint_least16_t = __uint16_t ; pub type __int_least32_t = __int32_t ; pub type __uint_least32_t = __uint32_t ; pub type __int_least64_t = __int64_t ; pub type __uint_least64_t = __uint64_t ; pub type __quad_t = :: std :: os :: raw :: c_long ; pub type __u_quad_t = :: std :: os :: raw :: c_ulong ; pub type __intmax_t = :: std :: os :: raw :: c_long ; pub type __uintmax_t = :: std :: os :: raw :: c_ulong ; pub type __dev_t = :: std :: os :: raw :: c_ulong ; pub type __uid_t = :: std :: os :: raw :: c_uint ; pub type __gid_t = :: std :: os :: raw :: c_uint ; pub type __ino_t = :: std :: os :: raw :: c_ulong ; pub type __ino64_t = :: std :: os :: raw :: c_ulong ; pub type __mode_t = :: std :: os :: raw :: c_uint ; pub type __nlink_t = :: std :: os :: raw :: c_ulong ; pub type __off_t = :: std :: os :: raw :: c_long ; pub type __off64_t = :: std :: os :: raw :: c_long ; pub type __pid_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __fsid_t { pub __val : [:: std :: os :: raw :: c_int ; 2usize] , } # [test] fn bindgen_test_layout___fsid_t () { assert_eq ! (:: std :: mem :: size_of :: < __fsid_t > () , 8usize , concat ! ("Size of: " , stringify ! (__fsid_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __fsid_t > () , 4usize , concat ! ("Alignment of " , stringify ! (__fsid_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __fsid_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__fsid_t) , "::" , stringify ! (__val))) ; } pub type __clock_t = :: std :: os :: raw :: c_long ; pub type __rlim_t = :: std :: os :: raw :: c_ulong ; pub type __rlim64_t = :: std :: os :: raw :: c_ulong ; pub type __id_t = :: std :: os :: raw :: c_uint ; pub type __time_t = :: std :: os :: raw :: c_long ; pub type __useconds_t = :: std :: os :: raw :: c_uint ; pub type __suseconds_t = :: std :: os :: raw :: c_long ; pub type __suseconds64_t = :: std :: os :: raw :: c_long ; pub type __daddr_t = :: std :: os :: raw :: c_int ; pub type __key_t = :: std :: os :: raw :: c_int ; pub type __clockid_t = :: std :: os :: raw :: c_int ; pub type __timer_t = * mut :: std :: os :: raw :: c_void ; pub type __blksize_t = :: std :: os :: raw :: c_long ; pub type __blkcnt_t = :: std :: os :: raw :: c_long ; pub type __blkcnt64_t = :: std :: os :: raw :: c_long ; pub type __fsblkcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsblkcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt_t = :: std :: os :: raw :: c_ulong ; pub type __fsfilcnt64_t = :: std :: os :: raw :: c_ulong ; pub type __fsword_t = :: std :: os :: raw :: c_long ; pub type __ssize_t = :: std :: os :: raw :: c_long ; pub type __syscall_slong_t = :: std :: os :: raw :: c_long ; pub type __syscall_ulong_t = :: std :: os :: raw :: c_ulong ; pub type __loff_t = __off64_t ; pub type __caddr_t = * mut :: std :: os :: raw :: c_char ; pub type __intptr_t = :: std :: os :: raw :: c_long ; pub type __socklen_t = :: std :: os :: raw :: c_uint ; pub type __sig_atomic_t = :: std :: os :: raw :: c_int ; pub type u_char = __u_char ; pub type u_short = __u_short ; pub type u_int = __u_int ; pub type u_long = __u_long ; pub type quad_t = __quad_t ; pub type u_quad_t = __u_quad_t ; pub type fsid_t = __fsid_t ; pub type loff_t = __loff_t ; pub type ino_t = __ino_t ; pub type dev_t = __dev_t ; pub type gid_t = __gid_t ; pub type mode_t = __mode_t ; pub type nlink_t = __nlink_t ; pub type uid_t = __uid_t ; pub type off_t = __off_t ; pub type pid_t = __pid_t ; pub type id_t = __id_t ; pub type ssize_t = __ssize_t ; pub type daddr_t = __daddr_t ; pub type caddr_t = __caddr_t ; pub type key_t = __key_t ; pub type clock_t = __clock_t ; pub type clockid_t = __clockid_t ; pub type time_t = __time_t ; pub type timer_t = __timer_t ; pub type ulong = :: std :: os :: raw :: c_ulong ; pub type ushort = :: std :: os :: raw :: c_ushort ; pub type uint = :: std :: os :: raw :: c_uint ; pub type u_int8_t = __uint8_t ; pub type u_int16_t = __uint16_t ; pub type u_int32_t = __uint32_t ; pub type u_int64_t = __uint64_t ; pub type register_t = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __sigset_t { pub __val : [:: std :: os :: raw :: c_ulong ; 16usize] , } # [test] fn bindgen_test_layout___sigset_t () { assert_eq ! (:: std :: mem :: size_of :: < __sigset_t > () , 128usize , concat ! ("Size of: " , stringify ! (__sigset_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __sigset_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__sigset_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __sigset_t > ())) . __val as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__sigset_t) , "::" , stringify ! (__val))) ; } pub type sigset_t = __sigset_t ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timeval { pub tv_sec : __time_t , pub tv_usec : __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))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct timespec { pub tv_sec : __time_t , pub tv_nsec : __syscall_slong_t , } # [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))) ; } pub type suseconds_t = __suseconds_t ; pub type __fd_mask = :: std :: os :: raw :: c_long ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct fd_set { pub __fds_bits : [__fd_mask ; 16usize] , } # [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 > () , 8usize , 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))) ; } pub type fd_mask = __fd_mask ; extern "C" { pub fn select (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * mut timeval) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn pselect (__nfds : :: std :: os :: raw :: c_int , __readfds : * mut fd_set , __writefds : * mut fd_set , __exceptfds : * mut fd_set , __timeout : * const timespec , __sigmask : * const __sigset_t) -> :: std :: os :: raw :: c_int ; } pub type blksize_t = __blksize_t ; pub type blkcnt_t = __blkcnt_t ; pub type fsblkcnt_t = __fsblkcnt_t ; pub type fsfilcnt_t = __fsfilcnt_t ; # [repr (C)] # [derive (Copy , Clone)] pub union __atomic_wide_counter { pub __value64 : :: std :: os :: raw :: c_ulonglong , pub __value32 : __atomic_wide_counter__bindgen_ty_1 , _bindgen_union_align : u64 , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __atomic_wide_counter__bindgen_ty_1 { pub __low : :: std :: os :: raw :: c_uint , pub __high : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___atomic_wide_counter__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter__bindgen_ty_1 > () , 4usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __low as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__low))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter__bindgen_ty_1 > ())) . __high as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter__bindgen_ty_1) , "::" , stringify ! (__high))) ; } # [test] fn bindgen_test_layout___atomic_wide_counter () { assert_eq ! (:: std :: mem :: size_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Size of: " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (:: std :: mem :: align_of :: < __atomic_wide_counter > () , 8usize , concat ! ("Alignment of " , stringify ! (__atomic_wide_counter))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value64 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value64))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __atomic_wide_counter > ())) . __value32 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__atomic_wide_counter) , "::" , stringify ! (__value32))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_list { pub __prev : * mut __pthread_internal_list , pub __next : * mut __pthread_internal_list , } # [test] fn bindgen_test_layout___pthread_internal_list () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_list > () , 16usize , concat ! ("Size of: " , stringify ! (__pthread_internal_list))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_list > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __prev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__prev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_list > ())) . __next as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_list) , "::" , stringify ! (__next))) ; } pub type __pthread_list_t = __pthread_internal_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_internal_slist { pub __next : * mut __pthread_internal_slist , } # [test] fn bindgen_test_layout___pthread_internal_slist () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Size of: " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_internal_slist > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_internal_slist))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_internal_slist > ())) . __next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_internal_slist) , "::" , stringify ! (__next))) ; } pub type __pthread_slist_t = __pthread_internal_slist ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_mutex_s { pub __lock : :: std :: os :: raw :: c_int , pub __count : :: std :: os :: raw :: c_uint , pub __owner : :: std :: os :: raw :: c_int , pub __nusers : :: std :: os :: raw :: c_uint , pub __kind : :: std :: os :: raw :: c_int , pub __spins : :: std :: os :: raw :: c_short , pub __elision : :: std :: os :: raw :: c_short , pub __list : __pthread_list_t , } # [test] fn bindgen_test_layout___pthread_mutex_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_mutex_s > () , 40usize , concat ! ("Size of: " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_mutex_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_mutex_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __lock as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__lock))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __owner as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __nusers as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__nusers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __kind as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__kind))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __spins as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__spins))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __elision as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__elision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_mutex_s > ())) . __list as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_mutex_s) , "::" , stringify ! (__list))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __pthread_rwlock_arch_t { pub __readers : :: std :: os :: raw :: c_uint , pub __writers : :: std :: os :: raw :: c_uint , pub __wrphase_futex : :: std :: os :: raw :: c_uint , pub __writers_futex : :: std :: os :: raw :: c_uint , pub __pad3 : :: std :: os :: raw :: c_uint , pub __pad4 : :: std :: os :: raw :: c_uint , pub __cur_writer : :: std :: os :: raw :: c_int , pub __shared : :: std :: os :: raw :: c_int , pub __rwelision : :: std :: os :: raw :: c_schar , pub __pad1 : [:: std :: os :: raw :: c_uchar ; 7usize] , pub __pad2 : :: std :: os :: raw :: c_ulong , pub __flags : :: std :: os :: raw :: c_uint , } # [test] fn bindgen_test_layout___pthread_rwlock_arch_t () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_rwlock_arch_t > () , 56usize , concat ! ("Size of: " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_rwlock_arch_t > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_rwlock_arch_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __readers as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__readers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __wrphase_futex as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__wrphase_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __writers_futex as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__writers_futex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad3 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad4 as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __cur_writer as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__cur_writer))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __shared as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__shared))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __rwelision as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__rwelision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad1 as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __pad2 as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__pad2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_rwlock_arch_t > ())) . __flags as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (__pthread_rwlock_arch_t) , "::" , stringify ! (__flags))) ; } # [repr (C)] # [derive (Copy , Clone)] pub struct __pthread_cond_s { pub __wseq : __atomic_wide_counter , pub __g1_start : __atomic_wide_counter , pub __g_refs : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g_size : [:: std :: os :: raw :: c_uint ; 2usize] , pub __g1_orig_size : :: std :: os :: raw :: c_uint , pub __wrefs : :: std :: os :: raw :: c_uint , pub __g_signals : [:: std :: os :: raw :: c_uint ; 2usize] , } # [test] fn bindgen_test_layout___pthread_cond_s () { assert_eq ! (:: std :: mem :: size_of :: < __pthread_cond_s > () , 48usize , concat ! ("Size of: " , stringify ! (__pthread_cond_s))) ; assert_eq ! (:: std :: mem :: align_of :: < __pthread_cond_s > () , 8usize , concat ! ("Alignment of " , stringify ! (__pthread_cond_s))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wseq as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wseq))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_start as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_refs as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_refs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g1_orig_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g1_orig_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __wrefs as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__wrefs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __pthread_cond_s > ())) . __g_signals as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (__pthread_cond_s) , "::" , stringify ! (__g_signals))) ; } pub type __tss_t = :: std :: os :: raw :: c_uint ; pub type __thrd_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __once_flag { pub __data : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout___once_flag () { assert_eq ! (:: std :: mem :: size_of :: < __once_flag > () , 4usize , concat ! ("Size of: " , stringify ! (__once_flag))) ; assert_eq ! (:: std :: mem :: align_of :: < __once_flag > () , 4usize , concat ! ("Alignment of " , stringify ! (__once_flag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __once_flag > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__once_flag) , "::" , stringify ! (__data))) ; } pub type pthread_t = :: std :: os :: raw :: c_ulong ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutexattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_mutexattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutexattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_mutexattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutexattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutexattr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_condattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_condattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_condattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_condattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_condattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_condattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_condattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_condattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_key_t = :: std :: os :: raw :: c_uint ; pub type pthread_once_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_attr_t { pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_attr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_attr_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_attr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_attr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_attr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_attr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_attr_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_mutex_t { pub __data : __pthread_mutex_s , pub __size : [:: std :: os :: raw :: c_char ; 40usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 5usize] , } # [test] fn bindgen_test_layout_pthread_mutex_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_mutex_t > () , 40usize , concat ! ("Size of: " , stringify ! (pthread_mutex_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_mutex_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_mutex_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_mutex_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_mutex_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_cond_t { pub __data : __pthread_cond_s , pub __size : [:: std :: os :: raw :: c_char ; 48usize] , pub __align : :: std :: os :: raw :: c_longlong , _bindgen_union_align : [u64 ; 6usize] , } # [test] fn bindgen_test_layout_pthread_cond_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_cond_t > () , 48usize , concat ! ("Size of: " , stringify ! (pthread_cond_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_cond_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_cond_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_cond_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_cond_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlock_t { pub __data : __pthread_rwlock_arch_t , pub __size : [:: std :: os :: raw :: c_char ; 56usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 7usize] , } # [test] fn bindgen_test_layout_pthread_rwlock_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlock_t > () , 56usize , concat ! ("Size of: " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlock_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlock_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlock_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlock_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_rwlockattr_t { pub __size : [:: std :: os :: raw :: c_char ; 8usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_pthread_rwlockattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Size of: " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_rwlockattr_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_rwlockattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_rwlockattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_rwlockattr_t) , "::" , stringify ! (__align))) ; } pub type pthread_spinlock_t = :: std :: os :: raw :: c_int ; # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrier_t { pub __size : [:: std :: os :: raw :: c_char ; 32usize] , pub __align : :: std :: os :: raw :: c_long , _bindgen_union_align : [u64 ; 4usize] , } # [test] fn bindgen_test_layout_pthread_barrier_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrier_t > () , 32usize , concat ! ("Size of: " , stringify ! (pthread_barrier_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrier_t > () , 8usize , concat ! ("Alignment of " , stringify ! (pthread_barrier_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrier_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrier_t) , "::" , stringify ! (__align))) ; } # [repr (C)] # [derive (Copy , Clone)] pub union pthread_barrierattr_t { pub __size : [:: std :: os :: raw :: c_char ; 4usize] , pub __align : :: std :: os :: raw :: c_int , _bindgen_union_align : u32 , } # [test] fn bindgen_test_layout_pthread_barrierattr_t () { assert_eq ! (:: std :: mem :: size_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Size of: " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (:: std :: mem :: align_of :: < pthread_barrierattr_t > () , 4usize , concat ! ("Alignment of " , stringify ! (pthread_barrierattr_t))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < pthread_barrierattr_t > ())) . __align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (pthread_barrierattr_t) , "::" , stringify ! (__align))) ; } pub type va_list = __builtin_va_list ; pub type __gnuc_va_list = __builtin_va_list ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct tm { pub tm_sec : :: std :: os :: raw :: c_int , pub tm_min : :: std :: os :: raw :: c_int , pub tm_hour : :: std :: os :: raw :: c_int , pub tm_mday : :: std :: os :: raw :: c_int , pub tm_mon : :: std :: os :: raw :: c_int , pub tm_year : :: std :: os :: raw :: c_int , pub tm_wday : :: std :: os :: raw :: c_int , pub tm_yday : :: std :: os :: raw :: c_int , pub tm_isdst : :: std :: os :: raw :: c_int , pub tm_gmtoff : :: std :: os :: raw :: c_long , pub tm_zone : * const :: std :: os :: raw :: c_char , } # [test] fn bindgen_test_layout_tm () { assert_eq ! (:: std :: mem :: size_of :: < tm > () , 56usize , concat ! ("Size of: " , stringify ! (tm))) ; assert_eq ! (:: std :: mem :: align_of :: < tm > () , 8usize , concat ! ("Alignment of " , stringify ! (tm))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_sec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_sec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_min as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_min))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_hour as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_hour))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mday as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_mon as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_mon))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_year as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_year))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_wday as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_wday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_yday as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_yday))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_isdst as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_isdst))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_gmtoff as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_gmtoff))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < tm > ())) . tm_zone as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (tm) , "::" , stringify ! (tm_zone))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct itimerspec { pub it_interval : timespec , pub it_value : timespec , } # [test] fn bindgen_test_layout_itimerspec () { assert_eq ! (:: std :: mem :: size_of :: < itimerspec > () , 32usize , concat ! ("Size of: " , stringify ! (itimerspec))) ; assert_eq ! (:: std :: mem :: align_of :: < itimerspec > () , 8usize , concat ! ("Alignment of " , stringify ! (itimerspec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_interval as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_interval))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < itimerspec > ())) . it_value as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (itimerspec) , "::" , stringify ! (it_value))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct sigevent { _unused : [u8 ; 0] , } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct __locale_struct { pub __locales : [* mut __locale_data ; 13usize] , pub __ctype_b : * const :: std :: os :: raw :: c_ushort , pub __ctype_tolower : * const :: std :: os :: raw :: c_int , pub __ctype_toupper : * const :: std :: os :: raw :: c_int , pub __names : [* const :: std :: os :: raw :: c_char ; 13usize] , } # [test] fn bindgen_test_layout___locale_struct () { assert_eq ! (:: std :: mem :: size_of :: < __locale_struct > () , 232usize , concat ! ("Size of: " , stringify ! (__locale_struct))) ; assert_eq ! (:: std :: mem :: align_of :: < __locale_struct > () , 8usize , concat ! ("Alignment of " , stringify ! (__locale_struct))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __locales as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__locales))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_b as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_b))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_tolower as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_tolower))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __ctype_toupper as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__ctype_toupper))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < __locale_struct > ())) . __names as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (__locale_struct) , "::" , stringify ! (__names))) ; } pub type __locale_t = * mut __locale_struct ; pub type locale_t = __locale_t ; extern "C" { pub fn clock () -> clock_t ; } extern "C" { pub fn time (__timer : * mut time_t) -> time_t ; } extern "C" { pub fn difftime (__time1 : time_t , __time0 : time_t) -> f64 ; } extern "C" { pub fn mktime (__tp : * mut tm) -> time_t ; } extern "C" { pub fn strftime (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm) -> size_t ; } extern "C" { pub fn strftime_l (__s : * mut :: std :: os :: raw :: c_char , __maxsize : size_t , __format : * const :: std :: os :: raw :: c_char , __tp : * const tm , __loc : locale_t) -> size_t ; } extern "C" { pub fn gmtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn localtime (__timer : * const time_t) -> * mut tm ; } extern "C" { pub fn gmtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn localtime_r (__timer : * const time_t , __tp : * mut tm) -> * mut tm ; } extern "C" { pub fn asctime (__tp : * const tm) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime (__timer : * const time_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn asctime_r (__tp : * const tm , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ctime_r (__timer : * const time_t , __buf : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub static mut __tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub static mut __daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut __timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub static mut tzname : [* mut :: std :: os :: raw :: c_char ; 2usize] ; } extern "C" { pub fn tzset () ; } extern "C" { pub static mut daylight : :: std :: os :: raw :: c_int ; } extern "C" { pub static mut timezone : :: std :: os :: raw :: c_long ; } extern "C" { pub fn timegm (__tp : * mut tm) -> time_t ; } extern "C" { pub fn timelocal (__tp : * mut tm) -> time_t ; } extern "C" { pub fn dysize (__year : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn nanosleep (__requested_time : * const timespec , __remaining : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getres (__clock_id : clockid_t , __res : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_gettime (__clock_id : clockid_t , __tp : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_settime (__clock_id : clockid_t , __tp : * const timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_nanosleep (__clock_id : clockid_t , __flags : :: std :: os :: raw :: c_int , __req : * const timespec , __rem : * mut timespec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn clock_getcpuclockid (__pid : pid_t , __clock_id : * mut clockid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_create (__clock_id : clockid_t , __evp : * mut sigevent , __timerid : * mut timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_delete (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_settime (__timerid : timer_t , __flags : :: std :: os :: raw :: c_int , __value : * const itimerspec , __ovalue : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_gettime (__timerid : timer_t , __value : * mut itimerspec) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timer_getoverrun (__timerid : timer_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn timespec_get (__ts : * mut timespec , __base : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type int_least8_t = __int_least8_t ; pub type int_least16_t = __int_least16_t ; pub type int_least32_t = __int_least32_t ; pub type int_least64_t = __int_least64_t ; pub type uint_least8_t = __uint_least8_t ; pub type uint_least16_t = __uint_least16_t ; pub type uint_least32_t = __uint_least32_t ; pub type uint_least64_t = __uint_least64_t ; pub type int_fast8_t = :: std :: os :: raw :: c_schar ; pub type int_fast16_t = :: std :: os :: raw :: c_long ; pub type int_fast32_t = :: std :: os :: raw :: c_long ; pub type int_fast64_t = :: std :: os :: raw :: c_long ; pub type uint_fast8_t = :: std :: os :: raw :: c_uchar ; pub type uint_fast16_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast32_t = :: std :: os :: raw :: c_ulong ; pub type uint_fast64_t = :: std :: os :: raw :: c_ulong ; pub type intmax_t = __intmax_t ; pub type uintmax_t = __uintmax_t ; pub type ntfs_u8 = u8 ; pub type ntfs_u16 = u16 ; pub type ntfs_u32 = u32 ; pub type ntfs_u64 = u64 ; pub type s8 = i8 ; pub type s16 = i16 ; pub type s32 = i32 ; pub type s64 = i64 ; pub type le16 = ntfs_u16 ; pub type le32 = ntfs_u32 ; pub type le64 = ntfs_u64 ; pub type be16 = ntfs_u16 ; pub type be32 = ntfs_u32 ; pub type be64 = ntfs_u64 ; pub type sle16 = ntfs_u16 ; pub type sle32 = ntfs_u32 ; pub type sle64 = ntfs_u64 ; pub type sbe16 = ntfs_u16 ; pub type sbe32 = ntfs_u32 ; pub type sbe64 = ntfs_u64 ; pub type ntfschar = le16 ; pub type VCN = s64 ; pub type leVCN = sle64 ; pub type LCN = s64 ; pub type leLCN = sle64 ; pub type LSN = s64 ; pub type leLSN = sle64 ; pub const BOOL_FALSE : BOOL = 0 ; pub const BOOL_NO : BOOL = 0 ; pub const BOOL_ZERO : BOOL = 0 ; pub const BOOL_TRUE : BOOL = 1 ; pub const BOOL_YES : BOOL = 1 ; pub const BOOL_ONE : BOOL = 1 ; # [doc = " enum BOOL - These are just to make the code more readable..."] pub type BOOL = u32 ; pub const IGNORE_CASE_BOOL_CASE_SENSITIVE : IGNORE_CASE_BOOL = 0 ; pub const IGNORE_CASE_BOOL_IGNORE_CASE : IGNORE_CASE_BOOL = 1 ; # [doc = " enum IGNORE_CASE_BOOL -"] pub type IGNORE_CASE_BOOL = u32 ; # [repr (C)] # [derive (Copy , Clone)] pub union ALIGNMENT { pub u64align : ntfs_u64 , pub ptralign : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout_ALIGNMENT () { assert_eq ! (:: std :: mem :: size_of :: < ALIGNMENT > () , 8usize , concat ! ("Size of: " , stringify ! (ALIGNMENT))) ; assert_eq ! (:: std :: mem :: align_of :: < ALIGNMENT > () , 8usize , concat ! ("Alignment of " , stringify ! (ALIGNMENT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . u64align as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (u64align))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ALIGNMENT > ())) . ptralign as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ALIGNMENT) , "::" , stringify ! (ptralign))) ; } # [doc = " struct BIOS_PARAMETER_BLOCK - BIOS parameter block (bpb) structure."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct BIOS_PARAMETER_BLOCK { pub bytes_per_sector : le16 , pub sectors_per_cluster : ntfs_u8 , pub reserved_sectors : le16 , pub fats : ntfs_u8 , pub root_entries : le16 , pub sectors : le16 , pub media_type : ntfs_u8 , pub sectors_per_fat : le16 , pub sectors_per_track : le16 , pub heads : le16 , pub hidden_sectors : le32 , pub large_sectors : le32 , } # [test] fn bindgen_test_layout_BIOS_PARAMETER_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < BIOS_PARAMETER_BLOCK > () , 25usize , concat ! ("Size of: " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < BIOS_PARAMETER_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (BIOS_PARAMETER_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . bytes_per_sector as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (bytes_per_sector))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_cluster as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_cluster))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . reserved_sectors as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (reserved_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . fats as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (fats))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . root_entries as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (root_entries))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . media_type as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (media_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_fat as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_fat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . sectors_per_track as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (sectors_per_track))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . heads as * const _ as usize } , 15usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . hidden_sectors as * const _ as usize } , 17usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (hidden_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BIOS_PARAMETER_BLOCK > ())) . large_sectors as * const _ as usize } , 21usize , concat ! ("Offset of field: " , stringify ! (BIOS_PARAMETER_BLOCK) , "::" , stringify ! (large_sectors))) ; } # [doc = " struct NTFS_BOOT_SECTOR - NTFS boot sector structure."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct NTFS_BOOT_SECTOR { pub jump : [ntfs_u8 ; 3usize] , pub oem_id : le64 , pub bpb : BIOS_PARAMETER_BLOCK , pub physical_drive : ntfs_u8 , pub current_head : ntfs_u8 , pub extended_boot_signature : ntfs_u8 , pub reserved2 : ntfs_u8 , pub number_of_sectors : sle64 , pub mft_lcn : sle64 , pub mftmirr_lcn : sle64 , pub clusters_per_mft_record : s8 , pub reserved0 : [ntfs_u8 ; 3usize] , pub clusters_per_index_record : s8 , pub reserved1 : [ntfs_u8 ; 3usize] , pub volume_serial_number : le64 , pub checksum : le32 , pub bootstrap : [ntfs_u8 ; 426usize] , pub end_of_sector_marker : le16 , } # [test] fn bindgen_test_layout_NTFS_BOOT_SECTOR () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_BOOT_SECTOR > () , 512usize , concat ! ("Size of: " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_BOOT_SECTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_BOOT_SECTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . jump as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (jump))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . oem_id as * const _ as usize } , 3usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (oem_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bpb as * const _ as usize } , 11usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bpb))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . physical_drive as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (physical_drive))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . current_head as * const _ as usize } , 37usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (current_head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . extended_boot_signature as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (extended_boot_signature))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved2 as * const _ as usize } , 39usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . number_of_sectors as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (number_of_sectors))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mft_lcn as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_mft_record as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved0 as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved0))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . clusters_per_index_record as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (clusters_per_index_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . reserved1 as * const _ as usize } , 69usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (volume_serial_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (checksum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . bootstrap as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (bootstrap))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 510usize , concat ! ("Offset of field: " , stringify ! (NTFS_BOOT_SECTOR) , "::" , stringify ! (end_of_sector_marker))) ; } pub const NTFS_RECORD_TYPES_magic_FILE : NTFS_RECORD_TYPES = 1162627398 ; pub const NTFS_RECORD_TYPES_magic_INDX : NTFS_RECORD_TYPES = 1480871497 ; pub const NTFS_RECORD_TYPES_magic_HOLE : NTFS_RECORD_TYPES = 1162628936 ; pub const NTFS_RECORD_TYPES_magic_RSTR : NTFS_RECORD_TYPES = 1381258066 ; pub const NTFS_RECORD_TYPES_magic_RCRD : NTFS_RECORD_TYPES = 1146241874 ; pub const NTFS_RECORD_TYPES_magic_CHKD : NTFS_RECORD_TYPES = 1145784387 ; pub const NTFS_RECORD_TYPES_magic_BAAD : NTFS_RECORD_TYPES = 1145127234 ; pub const NTFS_RECORD_TYPES_magic_empty : NTFS_RECORD_TYPES = 4294967295 ; # [doc = " enum NTFS_RECORD_TYPES -"] # [doc = ""] # [doc = " Magic identifiers present at the beginning of all ntfs record containing"] # [doc = " records (like mft records for example)."] pub type NTFS_RECORD_TYPES = u32 ; # [doc = " struct NTFS_RECORD -"] # [doc = ""] # [doc = " The Update Sequence Array (usa) is an array of the le16 values which belong"] # [doc = " to the end of each sector protected by the update sequence record in which"] # [doc = " this array is contained. Note that the first entry is the Update Sequence"] # [doc = " Number (usn), a cyclic counter of how many times the protected record has"] # [doc = " been written to disk. The values 0 and -1 (ie. 0xffff) are not used. All"] # [doc = " last le16's of each sector have to be equal to the usn (during reading) or"] # [doc = " are set to it (during writing). If they are not, an incomplete multi sector"] # [doc = " transfer has occurred when the data was written."] # [doc = " The maximum size for the update sequence array is fixed to:"] # [doc = "\tmaximum size = usa_ofs + (usa_count * 2) = 510 bytes"] # [doc = " The 510 bytes comes from the fact that the last le16 in the array has to"] # [doc = " (obviously) finish before the last le16 of the first 512-byte sector."] # [doc = " This formula can be used as a consistency check in that usa_ofs +"] # [doc = " (usa_count * 2) has to be less than or equal to 510."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct NTFS_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , } # [test] fn bindgen_test_layout_NTFS_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < NTFS_RECORD > () , 8usize , concat ! ("Size of: " , stringify ! (NTFS_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < NTFS_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (NTFS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (NTFS_RECORD) , "::" , stringify ! (usa_count))) ; } pub const NTFS_SYSTEM_FILES_FILE_MFT : NTFS_SYSTEM_FILES = 0 ; pub const NTFS_SYSTEM_FILES_FILE_MFTMirr : NTFS_SYSTEM_FILES = 1 ; pub const NTFS_SYSTEM_FILES_FILE_LogFile : NTFS_SYSTEM_FILES = 2 ; pub const NTFS_SYSTEM_FILES_FILE_Volume : NTFS_SYSTEM_FILES = 3 ; pub const NTFS_SYSTEM_FILES_FILE_AttrDef : NTFS_SYSTEM_FILES = 4 ; pub const NTFS_SYSTEM_FILES_FILE_root : NTFS_SYSTEM_FILES = 5 ; pub const NTFS_SYSTEM_FILES_FILE_Bitmap : NTFS_SYSTEM_FILES = 6 ; pub const NTFS_SYSTEM_FILES_FILE_Boot : NTFS_SYSTEM_FILES = 7 ; pub const NTFS_SYSTEM_FILES_FILE_BadClus : NTFS_SYSTEM_FILES = 8 ; pub const NTFS_SYSTEM_FILES_FILE_Secure : NTFS_SYSTEM_FILES = 9 ; pub const NTFS_SYSTEM_FILES_FILE_UpCase : NTFS_SYSTEM_FILES = 10 ; pub const NTFS_SYSTEM_FILES_FILE_Extend : NTFS_SYSTEM_FILES = 11 ; pub const NTFS_SYSTEM_FILES_FILE_reserved12 : NTFS_SYSTEM_FILES = 12 ; pub const NTFS_SYSTEM_FILES_FILE_reserved13 : NTFS_SYSTEM_FILES = 13 ; pub const NTFS_SYSTEM_FILES_FILE_reserved14 : NTFS_SYSTEM_FILES = 14 ; pub const NTFS_SYSTEM_FILES_FILE_mft_data : NTFS_SYSTEM_FILES = 15 ; pub const NTFS_SYSTEM_FILES_FILE_first_user : NTFS_SYSTEM_FILES = 16 ; # [doc = " enum NTFS_SYSTEM_FILES - System files mft record numbers."] # [doc = ""] # [doc = " All these files are always marked as used in the bitmap attribute of the"] # [doc = " mft; presumably in order to avoid accidental allocation for random other"] # [doc = " mft records. Also, the sequence number for each of the system files is"] # [doc = " always equal to their mft record number and it is never modified."] pub type NTFS_SYSTEM_FILES = u32 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IN_USE : MFT_RECORD_FLAGS = 1 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_DIRECTORY : MFT_RECORD_FLAGS = 2 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_4 : MFT_RECORD_FLAGS = 4 ; pub const MFT_RECORD_FLAGS_MFT_RECORD_IS_VIEW_INDEX : MFT_RECORD_FLAGS = 8 ; pub const MFT_RECORD_FLAGS_MFT_REC_SPACE_FILLER : MFT_RECORD_FLAGS = 65535 ; # [doc = " enum MFT_RECORD_FLAGS -"] # [doc = ""] # [doc = " These are the so far known MFT_RECORD_* flags (16-bit) which contain"] # [doc = " information about the mft record in which they are present."] # [doc = ""] # [doc = " MFT_RECORD_IS_4 exists on all $Extend sub-files."] # [doc = " It seems that it marks it is a metadata file with MFT record >24, however,"] # [doc = " it is unknown if it is limited to metadata files only."] # [doc = ""] # [doc = " MFT_RECORD_IS_VIEW_INDEX exists on every metafile with a non directory"] # [doc = " index, that means an INDEX_ROOT and an INDEX_ALLOCATION with a name other"] # [doc = " than \"$I30\". It is unknown if it is limited to metadata files only."] pub type MFT_RECORD_FLAGS = u16 ; pub type MFT_REF = ntfs_u64 ; pub type leMFT_REF = le64 ; # [doc = " struct MFT_RECORD - An MFT record layout (NTFS 3.1+)"] # [doc = ""] # [doc = " The mft record header present at the beginning of every record in the mft."] # [doc = " This is followed by a sequence of variable length attribute records which"] # [doc = " is terminated by an attribute of type AT_END which is a truncated attribute"] # [doc = " in that it only consists of the attribute type code AT_END and none of the"] # [doc = " other members of the attribute structure are present."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , pub reserved : le16 , pub mft_record_number : le32 , } # [test] fn bindgen_test_layout_MFT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD > () , 48usize , concat ! ("Size of: " , stringify ! (MFT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (next_attr_instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . reserved as * const _ as usize } , 42usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD > ())) . mft_record_number as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD) , "::" , stringify ! (mft_record_number))) ; } # [doc = " struct MFT_RECORD_OLD - An MFT record layout (NTFS <=3.0)"] # [doc = ""] # [doc = " This is the version without the NTFS 3.1+ specific fields."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct MFT_RECORD_OLD { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub sequence_number : le16 , pub link_count : le16 , pub attrs_offset : le16 , pub flags : MFT_RECORD_FLAGS , pub bytes_in_use : le32 , pub bytes_allocated : le32 , pub base_mft_record : leMFT_REF , pub next_attr_instance : le16 , } # [test] fn bindgen_test_layout_MFT_RECORD_OLD () { assert_eq ! (:: std :: mem :: size_of :: < MFT_RECORD_OLD > () , 42usize , concat ! ("Size of: " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (:: std :: mem :: align_of :: < MFT_RECORD_OLD > () , 1usize , concat ! ("Alignment of " , stringify ! (MFT_RECORD_OLD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . sequence_number as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (sequence_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . link_count as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (link_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . attrs_offset as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (attrs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . flags as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_in_use as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_in_use))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . bytes_allocated as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (bytes_allocated))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . base_mft_record as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (base_mft_record))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MFT_RECORD_OLD > ())) . next_attr_instance as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (MFT_RECORD_OLD) , "::" , stringify ! (next_attr_instance))) ; } pub const ATTR_TYPES_AT_UNUSED : ATTR_TYPES = 0 ; pub const ATTR_TYPES_AT_STANDARD_INFORMATION : ATTR_TYPES = 16 ; pub const ATTR_TYPES_AT_ATTRIBUTE_LIST : ATTR_TYPES = 32 ; pub const ATTR_TYPES_AT_FILE_NAME : ATTR_TYPES = 48 ; pub const ATTR_TYPES_AT_OBJECT_ID : ATTR_TYPES = 64 ; pub const ATTR_TYPES_AT_SECURITY_DESCRIPTOR : ATTR_TYPES = 80 ; pub const ATTR_TYPES_AT_VOLUME_NAME : ATTR_TYPES = 96 ; pub const ATTR_TYPES_AT_VOLUME_INFORMATION : ATTR_TYPES = 112 ; pub const ATTR_TYPES_AT_DATA : ATTR_TYPES = 128 ; pub const ATTR_TYPES_AT_INDEX_ROOT : ATTR_TYPES = 144 ; pub const ATTR_TYPES_AT_INDEX_ALLOCATION : ATTR_TYPES = 160 ; pub const ATTR_TYPES_AT_BITMAP : ATTR_TYPES = 176 ; pub const ATTR_TYPES_AT_REPARSE_POINT : ATTR_TYPES = 192 ; pub const ATTR_TYPES_AT_EA_INFORMATION : ATTR_TYPES = 208 ; pub const ATTR_TYPES_AT_EA : ATTR_TYPES = 224 ; pub const ATTR_TYPES_AT_PROPERTY_SET : ATTR_TYPES = 240 ; pub const ATTR_TYPES_AT_LOGGED_UTILITY_STREAM : ATTR_TYPES = 256 ; pub const ATTR_TYPES_AT_FIRST_USER_DEFINED_ATTRIBUTE : ATTR_TYPES = 4096 ; pub const ATTR_TYPES_AT_END : ATTR_TYPES = 4294967295 ; # [doc = " enum ATTR_TYPES - System defined attributes (32-bit)."] # [doc = ""] # [doc = " Each attribute type has a corresponding attribute name (Unicode string of"] # [doc = " maximum 64 character length) as described by the attribute definitions"] # [doc = " present in the data attribute of the $AttrDef system file."] # [doc = ""] # [doc = " On NTFS 3.0 volumes the names are just as the types are named in the below"] # [doc = " enum exchanging AT_ for the dollar sign ($). If that isn't a revealing"] # [doc = " choice of symbol... (-;"] pub type ATTR_TYPES = u32 ; pub const COLLATION_RULES_COLLATION_BINARY : COLLATION_RULES = 0 ; pub const COLLATION_RULES_COLLATION_FILE_NAME : COLLATION_RULES = 1 ; pub const COLLATION_RULES_COLLATION_UNICODE_STRING : COLLATION_RULES = 2 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONG : COLLATION_RULES = 16 ; pub const COLLATION_RULES_COLLATION_NTOFS_SID : COLLATION_RULES = 17 ; pub const COLLATION_RULES_COLLATION_NTOFS_SECURITY_HASH : COLLATION_RULES = 18 ; pub const COLLATION_RULES_COLLATION_NTOFS_ULONGS : COLLATION_RULES = 19 ; # [doc = " enum COLLATION_RULES - The collation rules for sorting views/indexes/etc"] # [doc = " (32-bit)."] # [doc = ""] # [doc = " COLLATION_BINARY - Collate by binary compare where the first byte is most"] # [doc = "\tsignificant."] # [doc = " COLLATION_FILE_NAME - Collate Unicode strings by comparing their 16-bit"] # [doc = "\tcoding units, primarily ignoring case using the volume's $UpCase table,"] # [doc = "\tbut falling back to a case-sensitive comparison if the names are equal"] # [doc = "\tignoring case."] # [doc = " COLLATION_UNICODE_STRING - TODO: this is not yet implemented and still needs"] # [doc = "\tto be properly documented --- is it really the same as"] # [doc = "\tCOLLATION_FILE_NAME?"] # [doc = " COLLATION_NTOFS_ULONG - Sorting is done according to ascending le32 key"] # [doc = "\tvalues. E.g. used for $SII index in FILE_Secure, which sorts by"] # [doc = "\tsecurity_id (le32)."] # [doc = " COLLATION_NTOFS_SID - Sorting is done according to ascending SID values."] # [doc = "\tE.g. used for $O index in FILE_Extend/$Quota."] # [doc = " COLLATION_NTOFS_SECURITY_HASH - Sorting is done first by ascending hash"] # [doc = "\tvalues and second by ascending security_id values. E.g. used for $SDH"] # [doc = "\tindex in FILE_Secure."] # [doc = " COLLATION_NTOFS_ULONGS - Sorting is done according to a sequence of ascending"] # [doc = "\tle32 key values. E.g. used for $O index in FILE_Extend/$ObjId, which"] # [doc = "\tsorts by object_id (16-byte), by splitting up the object_id in four"] # [doc = "\tle32 values and using them as individual keys. E.g. take the following"] # [doc = "\ttwo security_ids, stored as follows on disk:"] # [doc = "\t\t1st: a1 61 65 b7 65 7b d4 11 9e 3d 00 e0 81 10 42 59"] # [doc = "\t\t2nd: 38 14 37 d2 d2 f3 d4 11 a5 21 c8 6b 79 b1 97 45"] # [doc = "\tTo compare them, they are split into four le32 values each, like so:"] # [doc = "\t\t1st: 0xb76561a1 0x11d47b65 0xe0003d9e 0x59421081"] # [doc = "\t\t2nd: 0xd2371438 0x11d4f3d2 0x6bc821a5 0x4597b179"] # [doc = "\tNow, it is apparent why the 2nd object_id collates after the 1st: the"] # [doc = "\tfirst le32 value of the 1st object_id is less than the first le32 of"] # [doc = "\tthe 2nd object_id. If the first le32 values of both object_ids were"] # [doc = "\tequal then the second le32 values would be compared, etc."] pub type COLLATION_RULES = u32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXABLE : ATTR_DEF_FLAGS = 2 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_MULTIPLE : ATTR_DEF_FLAGS = 4 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NOT_ZERO : ATTR_DEF_FLAGS = 8 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_INDEXED_UNIQUE : ATTR_DEF_FLAGS = 16 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_NAMED_UNIQUE : ATTR_DEF_FLAGS = 32 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_RESIDENT : ATTR_DEF_FLAGS = 64 ; pub const ATTR_DEF_FLAGS_ATTR_DEF_ALWAYS_LOG : ATTR_DEF_FLAGS = 128 ; # [doc = " enum ATTR_DEF_FLAGS -"] # [doc = ""] # [doc = " The flags (32-bit) describing attribute properties in the attribute"] # [doc = " definition structure.  FIXME: This information is based on Regis's"] # [doc = " information and, according to him, it is not certain and probably"] # [doc = " incomplete.  The INDEXABLE flag is fairly certainly correct as only the file"] # [doc = " name attribute has this flag set and this is the only attribute indexed in"] # [doc = " NT4."] pub type ATTR_DEF_FLAGS = u32 ; # [doc = " struct ATTR_DEF -"] # [doc = ""] # [doc = " The data attribute of FILE_AttrDef contains a sequence of attribute"] # [doc = " definitions for the NTFS volume. With this, it is supposed to be safe for an"] # [doc = " older NTFS driver to mount a volume containing a newer NTFS version without"] # [doc = " damaging it (that's the theory. In practice it's: not damaging it too much)."] # [doc = " Entries are sorted by attribute type. The flags describe whether the"] # [doc = " attribute can be resident/non-resident and possibly other things, but the"] # [doc = " actual bits are unknown."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ATTR_DEF { pub name : [ntfschar ; 64usize] , pub type_ : ATTR_TYPES , pub display_rule : le32 , pub collation_rule : COLLATION_RULES , pub flags : ATTR_DEF_FLAGS , pub min_size : sle64 , pub max_size : sle64 , } # [test] fn bindgen_test_layout_ATTR_DEF () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_DEF > () , 160usize , concat ! ("Size of: " , stringify ! (ATTR_DEF))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_DEF > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_DEF))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . type_ as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . display_rule as * const _ as usize } , 132usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (display_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . collation_rule as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . flags as * const _ as usize } , 140usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . min_size as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (min_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_DEF > ())) . max_size as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (ATTR_DEF) , "::" , stringify ! (max_size))) ; } pub const ATTR_FLAGS_ATTR_IS_COMPRESSED : ATTR_FLAGS = 1 ; pub const ATTR_FLAGS_ATTR_COMPRESSION_MASK : ATTR_FLAGS = 255 ; pub const ATTR_FLAGS_ATTR_IS_ENCRYPTED : ATTR_FLAGS = 16384 ; pub const ATTR_FLAGS_ATTR_IS_SPARSE : ATTR_FLAGS = 32768 ; # [doc = " enum ATTR_FLAGS - Attribute flags (16-bit)."] pub type ATTR_FLAGS = u16 ; pub const RESIDENT_ATTR_FLAGS_RESIDENT_ATTR_IS_INDEXED : RESIDENT_ATTR_FLAGS = 1 ; # [doc = " enum RESIDENT_ATTR_FLAGS - Flags of resident attributes (8-bit)."] pub type RESIDENT_ATTR_FLAGS = u8 ; # [doc = " struct ATTR_RECORD - Attribute record header."] # [doc = ""] # [doc = " Always aligned to 8-byte boundary."] # [repr (C , packed)] pub struct ATTR_RECORD { pub type_ : ATTR_TYPES , pub length : le32 , pub non_resident : ntfs_u8 , pub name_length : ntfs_u8 , pub name_offset : le16 , pub flags : ATTR_FLAGS , pub instance : le16 , pub __bindgen_anon_1 : ATTR_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct ATTR_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 56usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 { pub value_length : le32 , pub value_offset : le16 , pub resident_flags : RESIDENT_ATTR_FLAGS , pub reservedR : s8 , pub resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . value_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (value_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_flags as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . reservedR as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_1 > ())) . resident_end as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (resident_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 { pub lowest_vcn : leVCN , pub highest_vcn : leVCN , pub mapping_pairs_offset : le16 , pub compression_unit : ntfs_u8 , pub reserved1 : [ntfs_u8 ; 5usize] , pub allocated_size : sle64 , pub data_size : sle64 , pub initialized_size : sle64 , pub non_resident_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , pub compressed_size : sle64 , pub compressed_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . lowest_vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . highest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (highest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . mapping_pairs_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (mapping_pairs_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compression_unit as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compression_unit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . reserved1 as * const _ as usize } , 19usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (reserved1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . allocated_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . data_size as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . initialized_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . non_resident_end as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (non_resident_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD__bindgen_ty_1__bindgen_ty_2 > ())) . compressed_end as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (compressed_end))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD__bindgen_ty_1 > () , 56usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_ATTR_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_RECORD > () , 72usize , concat ! ("Size of: " , stringify ! (ATTR_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . non_resident as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (non_resident))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_length as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . name_offset as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_RECORD > ())) . instance as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (ATTR_RECORD) , "::" , stringify ! (instance))) ; } pub type ATTR_REC = ATTR_RECORD ; pub const FILE_ATTR_FLAGS_FILE_ATTR_READONLY : FILE_ATTR_FLAGS = 1 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_HIDDEN : FILE_ATTR_FLAGS = 2 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SYSTEM : FILE_ATTR_FLAGS = 4 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DIRECTORY : FILE_ATTR_FLAGS = 16 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ARCHIVE : FILE_ATTR_FLAGS = 32 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_DEVICE : FILE_ATTR_FLAGS = 64 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NORMAL : FILE_ATTR_FLAGS = 128 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_TEMPORARY : FILE_ATTR_FLAGS = 256 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_SPARSE_FILE : FILE_ATTR_FLAGS = 512 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_REPARSE_POINT : FILE_ATTR_FLAGS = 1024 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_COMPRESSED : FILE_ATTR_FLAGS = 2048 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_OFFLINE : FILE_ATTR_FLAGS = 4096 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_NOT_CONTENT_INDEXED : FILE_ATTR_FLAGS = 8192 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_ENCRYPTED : FILE_ATTR_FLAGS = 16384 ; pub const FILE_ATTR_FLAGS_FILE_ATTRIBUTE_RECALL_ON_OPEN : FILE_ATTR_FLAGS = 262144 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_FLAGS : FILE_ATTR_FLAGS = 294839 ; pub const FILE_ATTR_FLAGS_FILE_ATTR_VALID_SET_FLAGS : FILE_ATTR_FLAGS = 12711 ; # [doc = " FILE_ATTR_I30_INDEX_PRESENT - Is it a directory?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_DIRECTORY bit from the mft"] # [doc = " record, telling us whether this is a directory or not, i.e. whether"] # [doc = " it has an index root attribute named \"$I30\" or not."] # [doc = ""] # [doc = " This flag is only present in the FILE_NAME attribute (in the"] # [doc = " file_attributes field)."] pub const FILE_ATTR_FLAGS_FILE_ATTR_I30_INDEX_PRESENT : FILE_ATTR_FLAGS = 268435456 ; # [doc = " FILE_ATTR_VIEW_INDEX_PRESENT - Does have a non-directory index?"] # [doc = ""] # [doc = " This is a copy of the MFT_RECORD_IS_VIEW_INDEX bit from the mft"] # [doc = " record, telling us whether this file has a view index present (eg."] # [doc = " object id index, quota index, one of the security indexes and the"] # [doc = " reparse points index)."] # [doc = ""] # [doc = " This flag is only present in the $STANDARD_INFORMATION and"] # [doc = " $FILE_NAME attributes."] pub const FILE_ATTR_FLAGS_FILE_ATTR_VIEW_INDEX_PRESENT : FILE_ATTR_FLAGS = 536870912 ; # [doc = " enum FILE_ATTR_FLAGS - File attribute flags (32-bit)."] pub type FILE_ATTR_FLAGS = u32 ; # [doc = " struct STANDARD_INFORMATION - Attribute: Standard information (0x10)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present in all base file records on a volume."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct STANDARD_INFORMATION { pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : STANDARD_INFORMATION__bindgen_ty_1 , } # [repr (C , packed)] pub struct STANDARD_INFORMATION__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 36usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 { pub reserved12 : [ntfs_u8 ; 12usize] , pub v1_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 12usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . reserved12 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved12))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1 > ())) . v1_end as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (v1_end))) ; } # [repr (C , packed)] # [derive (Debug)] pub struct STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 { pub maximum_versions : le32 , pub version_number : le32 , pub class_id : le32 , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , pub v3_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . maximum_versions as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (maximum_versions))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . version_number as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (version_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . class_id as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (class_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . security_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . quota_charged as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . usn as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (usn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2 > ())) . v3_end as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (v3_end))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 36usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_STANDARD_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < STANDARD_INFORMATION > () , 72usize , concat ! ("Size of: " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < STANDARD_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (STANDARD_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . creation_time as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_data_change_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_mft_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . last_access_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < STANDARD_INFORMATION > ())) . file_attributes as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (STANDARD_INFORMATION) , "::" , stringify ! (file_attributes))) ; } # [doc = " struct ATTR_LIST_ENTRY - Attribute: Attribute list (0x20)."] # [doc = ""] # [doc = " - Can be either resident or non-resident."] # [doc = " - Value consists of a sequence of variable length, 8-byte aligned,"] # [doc = " ATTR_LIST_ENTRY records."] # [doc = " - The attribute list attribute contains one entry for each attribute of"] # [doc = " the file in which the list is located, except for the list attribute"] # [doc = " itself. The list is sorted: first by attribute type, second by attribute"] # [doc = " name (if present), third by instance number. The extents of one"] # [doc = " non-resident attribute (if present) immediately follow after the initial"] # [doc = " extent. They are ordered by lowest_vcn and have their instance set to zero."] # [doc = " It is not allowed to have two attributes with all sorting keys equal."] # [doc = " - Further restrictions:"] # [doc = "\t- If not resident, the vcn to lcn mapping array has to fit inside the"] # [doc = "\t  base mft record."] # [doc = "\t- The attribute list attribute value has a maximum size of 256kb. This"] # [doc = "\t  is imposed by the Windows cache manager."] # [doc = " - Attribute lists are only used when the attributes of mft record do not"] # [doc = " fit inside the mft record despite all attributes (that can be made"] # [doc = " non-resident) having been made non-resident. This can happen e.g. when:"] # [doc = "\t- File has a large number of hard links (lots of file name"] # [doc = "\t  attributes present)."] # [doc = "\t- The mapping pairs array of some non-resident attribute becomes so"] # [doc = "\t  large due to fragmentation that it overflows the mft record."] # [doc = "\t- The security descriptor is very complex (not applicable to"] # [doc = "\t  NTFS 3.0 volumes)."] # [doc = "\t- There are many named streams."] # [repr (C , packed)] # [derive (Debug)] pub struct ATTR_LIST_ENTRY { pub type_ : ATTR_TYPES , pub length : le16 , pub name_length : ntfs_u8 , pub name_offset : ntfs_u8 , pub lowest_vcn : leVCN , pub mft_reference : leMFT_REF , pub instance : le16 , pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_ATTR_LIST_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < ATTR_LIST_ENTRY > () , 26usize , concat ! ("Size of: " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < ATTR_LIST_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (ATTR_LIST_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name_offset as * const _ as usize } , 7usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . lowest_vcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (lowest_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . mft_reference as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (mft_reference))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . instance as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (instance))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ATTR_LIST_ENTRY > ())) . name as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (ATTR_LIST_ENTRY) , "::" , stringify ! (name))) ; } pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_POSIX : FILE_NAME_TYPE_FLAGS = 0 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32 : FILE_NAME_TYPE_FLAGS = 1 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_DOS : FILE_NAME_TYPE_FLAGS = 2 ; pub const FILE_NAME_TYPE_FLAGS_FILE_NAME_WIN32_AND_DOS : FILE_NAME_TYPE_FLAGS = 3 ; # [doc = " enum FILE_NAME_TYPE_FLAGS - Possible namespaces for filenames in ntfs."] # [doc = " (8-bit)."] pub type FILE_NAME_TYPE_FLAGS = u8 ; # [doc = " struct FILE_NAME_ATTR - Attribute: Filename (0x30)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: All fields, except the parent_directory, are only updated when the"] # [doc = "\t filename is changed. Until then, they just become out of sync with"] # [doc = "\t reality and the more up to date values are present in the standard"] # [doc = "\t information attribute."] # [doc = " NOTE: There is conflicting information about the meaning of each of the time"] # [doc = "\t fields but the meaning as defined below has been verified to be"] # [doc = "\t correct by practical experimentation on Windows NT4 SP6a and is hence"] # [doc = "\t assumed to be the one and only correct interpretation."] # [repr (C , packed)] pub struct FILE_NAME_ATTR { pub parent_directory : leMFT_REF , pub creation_time : sle64 , pub last_data_change_time : sle64 , pub last_mft_change_time : sle64 , pub last_access_time : sle64 , pub allocated_size : sle64 , pub data_size : sle64 , pub file_attributes : FILE_ATTR_FLAGS , pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1 , pub file_name_length : ntfs_u8 , pub file_name_type : FILE_NAME_TYPE_FLAGS , pub file_name : __IncompleteArrayField < ntfschar > , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union FILE_NAME_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 , pub reparse_point_tag : le32 , _bindgen_union_align : [u8 ; 4usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 { pub packed_ea_size : le16 , pub reserved : le16 , } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . packed_ea_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (packed_ea_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . reserved as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reserved))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 4usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR__bindgen_ty_1 > ())) . reparse_point_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR__bindgen_ty_1) , "::" , stringify ! (reparse_point_tag))) ; } # [test] fn bindgen_test_layout_FILE_NAME_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < FILE_NAME_ATTR > () , 66usize , concat ! ("Size of: " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < FILE_NAME_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (FILE_NAME_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . parent_directory as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (parent_directory))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . creation_time as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_data_change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_mft_change_time as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . last_access_time as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . allocated_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . data_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_attributes as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_attributes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_length as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name_type as * const _ as usize } , 65usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < FILE_NAME_ATTR > ())) . file_name as * const _ as usize } , 66usize , concat ! ("Offset of field: " , stringify ! (FILE_NAME_ATTR) , "::" , stringify ! (file_name))) ; } # [doc = " struct GUID - GUID structures store globally unique identifiers (GUID)."] # [doc = ""] # [doc = " A GUID is a 128-bit value consisting of one group of eight hexadecimal"] # [doc = " digits, followed by three groups of four hexadecimal digits each, followed"] # [doc = " by one group of twelve hexadecimal digits. GUIDs are Microsoft's"] # [doc = " implementation of the distributed computing environment (DCE) universally"] # [doc = " unique identifier (UUID)."] # [doc = ""] # [doc = " Example of a GUID:"] # [doc = "\t1F010768-5A73-BC91-0010-A52216A7227B"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GUID { pub data1 : le32 , pub data2 : le16 , pub data3 : le16 , pub data4 : [ntfs_u8 ; 8usize] , } # [test] fn bindgen_test_layout_GUID () { assert_eq ! (:: std :: mem :: size_of :: < GUID > () , 16usize , concat ! ("Size of: " , stringify ! (GUID))) ; assert_eq ! (:: std :: mem :: align_of :: < GUID > () , 1usize , concat ! ("Alignment of " , stringify ! (GUID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data1 as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data2 as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data3 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data3))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GUID > ())) . data4 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GUID) , "::" , stringify ! (data4))) ; } # [doc = " struct OBJ_ID_INDEX_DATA - FILE_Extend/$ObjId contains an index named $O."] # [doc = ""] # [doc = " This index contains all object_ids present on the volume as the index keys"] # [doc = " and the corresponding mft_record numbers as the index entry data parts."] # [doc = ""] # [doc = " The data part (defined below) also contains three other object_ids:"] # [doc = "\tbirth_volume_id - object_id of FILE_Volume on which the file was first"] # [doc = "\t\t\t  created. Optional (i.e. can be zero)."] # [doc = "\tbirth_object_id - object_id of file when it was first created. Usually"] # [doc = "\t\t\t  equals the object_id. Optional (i.e. can be zero)."] # [doc = "\tdomain_id\t- Reserved (always zero)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJ_ID_INDEX_DATA { pub mft_reference : leMFT_REF , pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJ_ID_INDEX_DATA__bindgen_ty_1 { pub __bindgen_anon_1 : OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJ_ID_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < OBJ_ID_INDEX_DATA > () , 56usize , concat ! ("Size of: " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJ_ID_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJ_ID_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJ_ID_INDEX_DATA > ())) . mft_reference as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJ_ID_INDEX_DATA) , "::" , stringify ! (mft_reference))) ; } # [doc = " struct OBJECT_ID_ATTR - Attribute: Object id (NTFS 3.0+) (0x40)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct OBJECT_ID_ATTR { pub object_id : GUID , pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union OBJECT_ID_ATTR__bindgen_ty_1 { pub __bindgen_anon_1 : OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 , pub extended_info : [ntfs_u8 ; 48usize] , _bindgen_union_align : [u8 ; 48usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 { pub birth_volume_id : GUID , pub birth_object_id : GUID , pub domain_id : GUID , } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_volume_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_volume_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . birth_object_id as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (birth_object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1 > ())) . domain_id as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (domain_id))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 48usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR__bindgen_ty_1 > ())) . extended_info as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR__bindgen_ty_1) , "::" , stringify ! (extended_info))) ; } # [test] fn bindgen_test_layout_OBJECT_ID_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < OBJECT_ID_ATTR > () , 64usize , concat ! ("Size of: " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < OBJECT_ID_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (OBJECT_ID_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < OBJECT_ID_ATTR > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (OBJECT_ID_ATTR) , "::" , stringify ! (object_id))) ; } pub const RELATIVE_IDENTIFIERS_SECURITY_NULL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_WORLD_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_RID : RELATIVE_IDENTIFIERS = 0 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_OWNER_SERVER_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_CREATOR_GROUP_SERVER_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_DIALUP_RID : RELATIVE_IDENTIFIERS = 1 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NETWORK_RID : RELATIVE_IDENTIFIERS = 2 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BATCH_RID : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_INTERACTIVE_RID : RELATIVE_IDENTIFIERS = 4 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVICE_RID : RELATIVE_IDENTIFIERS = 6 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ANONYMOUS_LOGON_RID : RELATIVE_IDENTIFIERS = 7 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PROXY_RID : RELATIVE_IDENTIFIERS = 8 ; pub const RELATIVE_IDENTIFIERS_SECURITY_ENTERPRISE_CONTROLLERS_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_SERVER_LOGON_RID : RELATIVE_IDENTIFIERS = 9 ; pub const RELATIVE_IDENTIFIERS_SECURITY_PRINCIPAL_SELF_RID : RELATIVE_IDENTIFIERS = 10 ; pub const RELATIVE_IDENTIFIERS_SECURITY_AUTHENTICATED_USER_RID : RELATIVE_IDENTIFIERS = 11 ; pub const RELATIVE_IDENTIFIERS_SECURITY_RESTRICTED_CODE_RID : RELATIVE_IDENTIFIERS = 12 ; pub const RELATIVE_IDENTIFIERS_SECURITY_TERMINAL_SERVER_RID : RELATIVE_IDENTIFIERS = 13 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID : RELATIVE_IDENTIFIERS = 5 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOGON_IDS_RID_COUNT : RELATIVE_IDENTIFIERS = 3 ; pub const RELATIVE_IDENTIFIERS_SECURITY_LOCAL_SYSTEM_RID : RELATIVE_IDENTIFIERS = 18 ; pub const RELATIVE_IDENTIFIERS_SECURITY_NT_NON_UNIQUE : RELATIVE_IDENTIFIERS = 21 ; pub const RELATIVE_IDENTIFIERS_SECURITY_BUILTIN_DOMAIN_RID : RELATIVE_IDENTIFIERS = 32 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_ADMIN : RELATIVE_IDENTIFIERS = 500 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_GUEST : RELATIVE_IDENTIFIERS = 501 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_USER_RID_KRBTGT : RELATIVE_IDENTIFIERS = 502 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ADMINS : RELATIVE_IDENTIFIERS = 512 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_USERS : RELATIVE_IDENTIFIERS = 513 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_GUESTS : RELATIVE_IDENTIFIERS = 514 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_COMPUTERS : RELATIVE_IDENTIFIERS = 515 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CONTROLLERS : RELATIVE_IDENTIFIERS = 516 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_CERT_ADMINS : RELATIVE_IDENTIFIERS = 517 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_SCHEMA_ADMINS : RELATIVE_IDENTIFIERS = 518 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_ENTERPRISE_ADMINS : RELATIVE_IDENTIFIERS = 519 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_GROUP_RID_POLICY_ADMINS : RELATIVE_IDENTIFIERS = 520 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ADMINS : RELATIVE_IDENTIFIERS = 544 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_USERS : RELATIVE_IDENTIFIERS = 545 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_GUESTS : RELATIVE_IDENTIFIERS = 546 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_POWER_USERS : RELATIVE_IDENTIFIERS = 547 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_ACCOUNT_OPS : RELATIVE_IDENTIFIERS = 548 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_SYSTEM_OPS : RELATIVE_IDENTIFIERS = 549 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PRINT_OPS : RELATIVE_IDENTIFIERS = 550 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_BACKUP_OPS : RELATIVE_IDENTIFIERS = 551 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_REPLICATOR : RELATIVE_IDENTIFIERS = 552 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_RAS_SERVERS : RELATIVE_IDENTIFIERS = 553 ; pub const RELATIVE_IDENTIFIERS_DOMAIN_ALIAS_RID_PREW2KCOMPACCESS : RELATIVE_IDENTIFIERS = 554 ; # [doc = " enum RELATIVE_IDENTIFIERS -"] # [doc = ""] # [doc = " These relative identifiers (RIDs) are used with the above identifier"] # [doc = " authorities to make up universal well-known SIDs."] # [doc = ""] # [doc = " Note: The relative identifier (RID) refers to the portion of a SID, which"] # [doc = " identifies a user or group in relation to the authority that issued the SID."] # [doc = " For example, the universal well-known SID Creator Owner ID (S-1-3-0) is"] # [doc = " made up of the identifier authority SECURITY_CREATOR_SID_AUTHORITY (3) and"] # [doc = " the relative identifier SECURITY_CREATOR_OWNER_RID (0)."] pub type RELATIVE_IDENTIFIERS = u32 ; # [doc = " union SID_IDENTIFIER_AUTHORITY - A 48-bit value used in the SID structure"] # [doc = ""] # [doc = " NOTE: This is stored as a big endian number."] # [repr (C , packed)] # [derive (Copy , Clone)] pub union SID_IDENTIFIER_AUTHORITY { pub __bindgen_anon_1 : SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 , pub value : [ntfs_u8 ; 6usize] , _bindgen_union_align : [u8 ; 6usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 { pub high_part : be16 , pub low_part : be32 , } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . high_part as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (high_part))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY__bindgen_ty_1 > ())) . low_part as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY__bindgen_ty_1) , "::" , stringify ! (low_part))) ; } # [test] fn bindgen_test_layout_SID_IDENTIFIER_AUTHORITY () { assert_eq ! (:: std :: mem :: size_of :: < SID_IDENTIFIER_AUTHORITY > () , 6usize , concat ! ("Size of: " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (:: std :: mem :: align_of :: < SID_IDENTIFIER_AUTHORITY > () , 1usize , concat ! ("Alignment of " , stringify ! (SID_IDENTIFIER_AUTHORITY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID_IDENTIFIER_AUTHORITY > ())) . value as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID_IDENTIFIER_AUTHORITY) , "::" , stringify ! (value))) ; } # [doc = " struct SID -"] # [doc = ""] # [doc = " The SID structure is a variable-length structure used to uniquely identify"] # [doc = " users or groups. SID stands for security identifier."] # [doc = ""] # [doc = " The standard textual representation of the SID is of the form:"] # [doc = "\tS-R-I-S-S..."] # [doc = " Where:"] # [doc = "    - The first \"S\" is the literal character 'S' identifying the following"] # [doc = "\tdigits as a SID."] # [doc = "    - R is the revision level of the SID expressed as a sequence of digits"] # [doc = "\tin decimal."] # [doc = "    - I is the 48-bit identifier_authority, expressed as digits in decimal,"] # [doc = "\tif I < 2^32, or hexadecimal prefixed by \"0x\", if I >= 2^32."] # [doc = "    - S... is one or more sub_authority values, expressed as digits in"] # [doc = "\tdecimal."] # [doc = ""] # [doc = " Example SID; the domain-relative SID of the local Administrators group on"] # [doc = " Windows NT/2k:"] # [doc = "\tS-1-5-32-544"] # [doc = " This translates to a SID with:"] # [doc = "\trevision = 1,"] # [doc = "\tsub_authority_count = 2,"] # [doc = "\tidentifier_authority = {0,0,0,0,0,5},\t// SECURITY_NT_AUTHORITY"] # [doc = "\tsub_authority[0] = 32,\t\t\t// SECURITY_BUILTIN_DOMAIN_RID"] # [doc = "\tsub_authority[1] = 544\t\t\t// DOMAIN_ALIAS_RID_ADMINS"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct SID { pub revision : ntfs_u8 , pub sub_authority_count : ntfs_u8 , pub identifier_authority : SID_IDENTIFIER_AUTHORITY , pub sub_authority : [le32 ; 1usize] , } # [test] fn bindgen_test_layout_SID () { assert_eq ! (:: std :: mem :: size_of :: < SID > () , 12usize , concat ! ("Size of: " , stringify ! (SID))) ; assert_eq ! (:: std :: mem :: align_of :: < SID > () , 1usize , concat ! ("Alignment of " , stringify ! (SID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority_count as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . identifier_authority as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (identifier_authority))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SID > ())) . sub_authority as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SID) , "::" , stringify ! (sub_authority))) ; } pub const SID_CONSTANTS_SID_REVISION : SID_CONSTANTS = 1 ; pub const SID_CONSTANTS_SID_MAX_SUB_AUTHORITIES : SID_CONSTANTS = 15 ; pub const SID_CONSTANTS_SID_RECOMMENDED_SUB_AUTHORITIES : SID_CONSTANTS = 1 ; # [doc = " enum SID_CONSTANTS - Current constants for SIDs."] pub type SID_CONSTANTS = u32 ; pub const ACE_TYPES_ACCESS_MIN_MS_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_ALLOWED_ACE_TYPE : ACE_TYPES = 0 ; pub const ACE_TYPES_ACCESS_DENIED_ACE_TYPE : ACE_TYPES = 1 ; pub const ACE_TYPES_SYSTEM_AUDIT_ACE_TYPE : ACE_TYPES = 2 ; pub const ACE_TYPES_SYSTEM_ALARM_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_MAX_MS_V2_ACE_TYPE : ACE_TYPES = 3 ; pub const ACE_TYPES_ACCESS_ALLOWED_COMPOUND_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MAX_MS_V3_ACE_TYPE : ACE_TYPES = 4 ; pub const ACE_TYPES_ACCESS_MIN_MS_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_ALLOWED_OBJECT_ACE_TYPE : ACE_TYPES = 5 ; pub const ACE_TYPES_ACCESS_DENIED_OBJECT_ACE_TYPE : ACE_TYPES = 6 ; pub const ACE_TYPES_SYSTEM_AUDIT_OBJECT_ACE_TYPE : ACE_TYPES = 7 ; pub const ACE_TYPES_SYSTEM_ALARM_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_OBJECT_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_V4_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_MAX_MS_ACE_TYPE : ACE_TYPES = 8 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_ACE_TYPE : ACE_TYPES = 9 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_ACE_TYPE : ACE_TYPES = 10 ; pub const ACE_TYPES_ACCESS_ALLOWED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 11 ; pub const ACE_TYPES_ACCESS_DENIED_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 12 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_ACE_TYPE : ACE_TYPES = 13 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_ACE_TYPE : ACE_TYPES = 14 ; pub const ACE_TYPES_SYSTEM_AUDIT_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 15 ; pub const ACE_TYPES_SYSTEM_ALARM_CALLBACK_OBJECT_ACE_TYPE : ACE_TYPES = 16 ; pub const ACE_TYPES_SYSTEM_MANDATORY_LABEL_ACE_TYPE : ACE_TYPES = 17 ; pub const ACE_TYPES_SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE : ACE_TYPES = 18 ; pub const ACE_TYPES_SYSTEM_SCOPED_POLICY_ID_ACE_TYPE : ACE_TYPES = 19 ; pub const ACE_TYPES_SYSTEM_PROCESS_TRUST_LABEL_ACE_TYPE : ACE_TYPES = 20 ; # [doc = " enum ACE_TYPES - The predefined ACE types (8-bit, see below)."] pub type ACE_TYPES = u8 ; pub const ACE_FLAGS_OBJECT_INHERIT_ACE : ACE_FLAGS = 1 ; pub const ACE_FLAGS_CONTAINER_INHERIT_ACE : ACE_FLAGS = 2 ; pub const ACE_FLAGS_NO_PROPAGATE_INHERIT_ACE : ACE_FLAGS = 4 ; pub const ACE_FLAGS_INHERIT_ONLY_ACE : ACE_FLAGS = 8 ; pub const ACE_FLAGS_INHERITED_ACE : ACE_FLAGS = 16 ; pub const ACE_FLAGS_VALID_INHERIT_FLAGS : ACE_FLAGS = 31 ; pub const ACE_FLAGS_SUCCESSFUL_ACCESS_ACE_FLAG : ACE_FLAGS = 64 ; pub const ACE_FLAGS_FAILED_ACCESS_ACE_FLAG : ACE_FLAGS = 128 ; # [doc = " enum ACE_FLAGS - The ACE flags (8-bit) for audit and inheritance."] # [doc = ""] # [doc = " SUCCESSFUL_ACCESS_ACE_FLAG is only used with system audit and alarm ACE"] # [doc = " types to indicate that a message is generated (in Windows!) for successful"] # [doc = " accesses."] # [doc = ""] # [doc = " FAILED_ACCESS_ACE_FLAG is only used with system audit and alarm ACE types"] # [doc = " to indicate that a message is generated (in Windows!) for failed accesses."] pub type ACE_FLAGS = u8 ; # [doc = " struct ACE_HEADER -"] # [doc = ""] # [doc = " An ACE is an access-control entry in an access-control list (ACL)."] # [doc = " An ACE defines access to an object for a specific user or group or defines"] # [doc = " the types of access that generate system-administration messages or alarms"] # [doc = " for a specific user or group. The user or group is identified by a security"] # [doc = " identifier (SID)."] # [doc = ""] # [doc = " Each ACE starts with an ACE_HEADER structure (aligned on 4-byte boundary),"] # [doc = " which specifies the type and size of the ACE. The format of the subsequent"] # [doc = " data depends on the ACE type."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACE_HEADER { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , } # [test] fn bindgen_test_layout_ACE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < ACE_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (ACE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < ACE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (ACE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACE_HEADER > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACE_HEADER) , "::" , stringify ! (size))) ; } pub const ACCESS_MASK_FILE_READ_DATA : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_LIST_DIRECTORY : ACCESS_MASK = 1 ; pub const ACCESS_MASK_FILE_WRITE_DATA : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_ADD_FILE : ACCESS_MASK = 2 ; pub const ACCESS_MASK_FILE_APPEND_DATA : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_ADD_SUBDIRECTORY : ACCESS_MASK = 4 ; pub const ACCESS_MASK_FILE_READ_EA : ACCESS_MASK = 8 ; pub const ACCESS_MASK_FILE_WRITE_EA : ACCESS_MASK = 16 ; pub const ACCESS_MASK_FILE_EXECUTE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_TRAVERSE : ACCESS_MASK = 32 ; pub const ACCESS_MASK_FILE_DELETE_CHILD : ACCESS_MASK = 64 ; pub const ACCESS_MASK_FILE_READ_ATTRIBUTES : ACCESS_MASK = 128 ; pub const ACCESS_MASK_FILE_WRITE_ATTRIBUTES : ACCESS_MASK = 256 ; pub const ACCESS_MASK_DELETE : ACCESS_MASK = 65536 ; pub const ACCESS_MASK_READ_CONTROL : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_WRITE_DAC : ACCESS_MASK = 262144 ; pub const ACCESS_MASK_WRITE_OWNER : ACCESS_MASK = 524288 ; pub const ACCESS_MASK_SYNCHRONIZE : ACCESS_MASK = 1048576 ; pub const ACCESS_MASK_STANDARD_RIGHTS_READ : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_WRITE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_EXECUTE : ACCESS_MASK = 131072 ; pub const ACCESS_MASK_STANDARD_RIGHTS_REQUIRED : ACCESS_MASK = 983040 ; pub const ACCESS_MASK_STANDARD_RIGHTS_ALL : ACCESS_MASK = 2031616 ; pub const ACCESS_MASK_ACCESS_SYSTEM_SECURITY : ACCESS_MASK = 16777216 ; pub const ACCESS_MASK_MAXIMUM_ALLOWED : ACCESS_MASK = 33554432 ; pub const ACCESS_MASK_GENERIC_ALL : ACCESS_MASK = 268435456 ; pub const ACCESS_MASK_GENERIC_EXECUTE : ACCESS_MASK = 536870912 ; pub const ACCESS_MASK_GENERIC_WRITE : ACCESS_MASK = 1073741824 ; pub const ACCESS_MASK_GENERIC_READ : ACCESS_MASK = 2147483648 ; # [doc = " enum ACCESS_MASK - The access mask (32-bit)."] # [doc = ""] # [doc = " Defines the access rights."] pub type ACCESS_MASK = u32 ; # [doc = " struct GENERIC_MAPPING -"] # [doc = ""] # [doc = " The generic mapping array. Used to denote the mapping of each generic"] # [doc = " access right to a specific access mask."] # [doc = ""] # [doc = " FIXME: What exactly is this and what is it for? (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct GENERIC_MAPPING { pub generic_read : ACCESS_MASK , pub generic_write : ACCESS_MASK , pub generic_execute : ACCESS_MASK , pub generic_all : ACCESS_MASK , } # [test] fn bindgen_test_layout_GENERIC_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < GENERIC_MAPPING > () , 16usize , concat ! ("Size of: " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < GENERIC_MAPPING > () , 1usize , concat ! ("Alignment of " , stringify ! (GENERIC_MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_read as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_write as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_execute as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_execute))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < GENERIC_MAPPING > ())) . generic_all as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (GENERIC_MAPPING) , "::" , stringify ! (generic_all))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_ACE > () , 20usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_ACE > ())) . sid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type ACCESS_DENIED_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_AUDIT_ACE = ACCESS_ALLOWED_ACE ; # [doc = " struct ACCESS_DENIED_ACE -"] # [doc = ""] # [doc = " ACCESS_ALLOWED_ACE, ACCESS_DENIED_ACE, SYSTEM_AUDIT_ACE, SYSTEM_ALARM_ACE"] pub type SYSTEM_ALARM_ACE = ACCESS_ALLOWED_ACE ; pub const OBJECT_ACE_FLAGS_ACE_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 1 ; pub const OBJECT_ACE_FLAGS_ACE_INHERITED_OBJECT_TYPE_PRESENT : OBJECT_ACE_FLAGS = 2 ; # [doc = " enum OBJECT_ACE_FLAGS - The object ACE flags (32-bit)."] pub type OBJECT_ACE_FLAGS = u32 ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct ACCESS_ALLOWED_OBJECT_ACE { pub type_ : ACE_TYPES , pub flags : ACE_FLAGS , pub size : le16 , pub mask : ACCESS_MASK , pub object_flags : OBJECT_ACE_FLAGS , pub object_type : GUID , pub inherited_object_type : GUID , pub sid : SID , } # [test] fn bindgen_test_layout_ACCESS_ALLOWED_OBJECT_ACE () { assert_eq ! (:: std :: mem :: size_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 56usize , concat ! ("Size of: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (:: std :: mem :: align_of :: < ACCESS_ALLOWED_OBJECT_ACE > () , 1usize , concat ! ("Alignment of " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . flags as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . mask as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (mask))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_flags as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . object_type as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . inherited_object_type as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (inherited_object_type))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACCESS_ALLOWED_OBJECT_ACE > ())) . sid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (ACCESS_ALLOWED_OBJECT_ACE) , "::" , stringify ! (sid))) ; } # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type ACCESS_DENIED_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_AUDIT_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACCESS_ALLOWED_OBJECT_ACE -"] pub type SYSTEM_ALARM_OBJECT_ACE = ACCESS_ALLOWED_OBJECT_ACE ; # [doc = " struct ACL - An ACL is an access-control list (ACL)."] # [doc = ""] # [doc = " An ACL starts with an ACL header structure, which specifies the size of"] # [doc = " the ACL and the number of ACEs it contains. The ACL header is followed by"] # [doc = " zero or more access control entries (ACEs). The ACL as well as each ACE"] # [doc = " are aligned on 4-byte boundaries."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct ACL { pub revision : ntfs_u8 , pub alignment1 : ntfs_u8 , pub size : le16 , pub ace_count : le16 , pub alignment2 : le16 , } # [test] fn bindgen_test_layout_ACL () { assert_eq ! (:: std :: mem :: size_of :: < ACL > () , 8usize , concat ! ("Size of: " , stringify ! (ACL))) ; assert_eq ! (:: std :: mem :: align_of :: < ACL > () , 1usize , concat ! ("Alignment of " , stringify ! (ACL))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment1 as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . size as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . ace_count as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (ace_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ACL > ())) . alignment2 as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (ACL) , "::" , stringify ! (alignment2))) ; } pub const ACL_CONSTANTS_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION_DS : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_ACL_REVISION1 : ACL_CONSTANTS = 1 ; pub const ACL_CONSTANTS_MIN_ACL_REVISION : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION2 : ACL_CONSTANTS = 2 ; pub const ACL_CONSTANTS_ACL_REVISION3 : ACL_CONSTANTS = 3 ; pub const ACL_CONSTANTS_ACL_REVISION4 : ACL_CONSTANTS = 4 ; pub const ACL_CONSTANTS_MAX_ACL_REVISION : ACL_CONSTANTS = 4 ; # [doc = " enum ACL_CONSTANTS - Current constants for ACLs."] pub type ACL_CONSTANTS = u32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_OWNER_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 1 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_GROUP_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 2 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 4 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 8 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PRESENT : SECURITY_DESCRIPTOR_CONTROL = 16 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_DEFAULTED : SECURITY_DESCRIPTOR_CONTROL = 32 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 256 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERIT_REQ : SECURITY_DESCRIPTOR_CONTROL = 512 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 1024 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_AUTO_INHERITED : SECURITY_DESCRIPTOR_CONTROL = 2048 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_DACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 4096 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SACL_PROTECTED : SECURITY_DESCRIPTOR_CONTROL = 8192 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_RM_CONTROL_VALID : SECURITY_DESCRIPTOR_CONTROL = 16384 ; pub const SECURITY_DESCRIPTOR_CONTROL_SE_SELF_RELATIVE : SECURITY_DESCRIPTOR_CONTROL = 32768 ; # [doc = " enum SECURITY_DESCRIPTOR_CONTROL -"] # [doc = ""] # [doc = " The security descriptor control flags (16-bit)."] # [doc = ""] # [doc = " SE_OWNER_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID pointed to by the Owner field was provided by a"] # [doc = "\tdefaulting mechanism rather than explicitly provided by the"] # [doc = "\toriginal provider of the security descriptor.  This may"] # [doc = "\taffect the treatment of the SID with respect to inheritance"] # [doc = "\tof an owner."] # [doc = ""] # [doc = " SE_GROUP_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tSID in the Group field was provided by a defaulting mechanism"] # [doc = "\trather than explicitly provided by the original provider of"] # [doc = "\tthe security descriptor.  This may affect the treatment of"] # [doc = "\tthe SID with respect to inheritance of a primary group."] # [doc = ""] # [doc = " SE_DACL_PRESENT - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor contains a discretionary ACL.  If this"] # [doc = "\tflag is set and the Dacl field of the SECURITY_DESCRIPTOR is"] # [doc = "\tnull, then a null ACL is explicitly being specified."] # [doc = ""] # [doc = " SE_DACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Dacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the DaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SACL_PRESENT - This boolean flag, when set,  indicates that the"] # [doc = "\tsecurity descriptor contains a system ACL pointed to by the"] # [doc = "\tSacl field.  If this flag is set and the Sacl field of the"] # [doc = "\tSECURITY_DESCRIPTOR is null, then an empty (but present)"] # [doc = "\tACL is being specified."] # [doc = ""] # [doc = " SE_SACL_DEFAULTED - This boolean flag, when set, indicates that the"] # [doc = "\tACL pointed to by the Sacl field was provided by a defaulting"] # [doc = "\tmechanism rather than explicitly provided by the original"] # [doc = "\tprovider of the security descriptor.  This may affect the"] # [doc = "\ttreatment of the ACL with respect to inheritance of an ACL."] # [doc = "\tThis flag is ignored if the SaclPresent flag is not set."] # [doc = ""] # [doc = " SE_SELF_RELATIVE - This boolean flag, when set, indicates that the"] # [doc = "\tsecurity descriptor is in self-relative form.  In this form,"] # [doc = "\tall fields of the security descriptor are contiguous in memory"] # [doc = "\tand all pointer fields are expressed as offsets from the"] # [doc = "\tbeginning of the security descriptor."] pub type SECURITY_DESCRIPTOR_CONTROL = u16 ; # [doc = " struct SECURITY_DESCRIPTOR_RELATIVE -"] # [doc = ""] # [doc = " Self-relative security descriptor. Contains the owner and group SIDs as well"] # [doc = " as the sacl and dacl ACLs inside the security descriptor itself."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_RELATIVE { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : le32 , pub group : le32 , pub sacl : le32 , pub dacl : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_RELATIVE () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_RELATIVE > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . group as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . sacl as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_RELATIVE > ())) . dacl as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_RELATIVE) , "::" , stringify ! (dacl))) ; } # [doc = " struct SECURITY_DESCRIPTOR - Absolute security descriptor."] # [doc = ""] # [doc = " Does not contain the owner and group SIDs, nor the sacl and dacl ACLs inside"] # [doc = " the security descriptor. Instead, it contains pointers to these structures"] # [doc = " in memory. Obviously, absolute security descriptors are only useful for in"] # [doc = " memory representations of security descriptors."] # [doc = ""] # [doc = " On disk, a self-relative security descriptor is used."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR { pub revision : ntfs_u8 , pub alignment : ntfs_u8 , pub control : SECURITY_DESCRIPTOR_CONTROL , pub owner : * mut SID , pub group : * mut SID , pub sacl : * mut ACL , pub dacl : * mut ACL , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR > () , 36usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . revision as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (revision))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . alignment as * const _ as usize } , 1usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (alignment))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . control as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (control))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . owner as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (owner))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . group as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (group))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . sacl as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (sacl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR > ())) . dacl as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR) , "::" , stringify ! (dacl))) ; } pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_REVISION1 : SECURITY_DESCRIPTOR_CONSTANTS = 1 ; pub const SECURITY_DESCRIPTOR_CONSTANTS_SECURITY_DESCRIPTOR_MIN_LENGTH : SECURITY_DESCRIPTOR_CONSTANTS = 36 ; # [doc = " enum SECURITY_DESCRIPTOR_CONSTANTS -"] # [doc = ""] # [doc = " Current constants for security descriptors."] pub type SECURITY_DESCRIPTOR_CONSTANTS = u32 ; pub type SECURITY_DESCRIPTOR_ATTR = SECURITY_DESCRIPTOR_RELATIVE ; # [doc = " struct SECURITY_DESCRIPTOR_HEADER -"] # [doc = ""] # [doc = " This header precedes each security descriptor in the $SDS data stream."] # [doc = " This is also the index entry data part of both the $SII and $SDH indexes."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_DESCRIPTOR_HEADER { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , } # [test] fn bindgen_test_layout_SECURITY_DESCRIPTOR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_DESCRIPTOR_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_DESCRIPTOR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (SECURITY_DESCRIPTOR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_DESCRIPTOR_HEADER > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SECURITY_DESCRIPTOR_HEADER) , "::" , stringify ! (length))) ; } # [doc = " struct SDH_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_DATA { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub reserved_II : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_DATA > () , 24usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_DATA > ())) . reserved_II as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_DATA) , "::" , stringify ! (reserved_II))) ; } # [doc = " struct SII_INDEX_DATA -"] pub type SII_INDEX_DATA = SECURITY_DESCRIPTOR_HEADER ; # [doc = " struct SDS_ENTRY -"] # [doc = ""] # [doc = " The $SDS data stream contains the security descriptors, aligned on 16-byte"] # [doc = " boundaries, sorted by security_id in a B+ tree. Security descriptors cannot"] # [doc = " cross 256kib boundaries (this restriction is imposed by the Windows cache"] # [doc = " manager). Each security descriptor is contained in a SDS_ENTRY structure."] # [doc = " Also, each security descriptor is stored twice in the $SDS stream with a"] # [doc = " fixed offset of 0x40000 bytes (256kib, the Windows cache manager's max size)"] # [doc = " between them; i.e. if a SDS_ENTRY specifies an offset of 0x51d0, then the"] # [doc = " the first copy of the security descriptor will be at offset 0x51d0 in the"] # [doc = " $SDS data stream and the second copy will be at offset 0x451d0."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDS_ENTRY { pub hash : le32 , pub security_id : le32 , pub offset : le64 , pub length : le32 , pub sid : SECURITY_DESCRIPTOR_RELATIVE , } # [test] fn bindgen_test_layout_SDS_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < SDS_ENTRY > () , 40usize , concat ! ("Size of: " , stringify ! (SDS_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDS_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDS_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDS_ENTRY > ())) . sid as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (SDS_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct SII_INDEX_KEY - The index entry key used in the $SII index."] # [doc = ""] # [doc = " The collation type is COLLATION_NTOFS_ULONG."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SII_INDEX_KEY { pub security_id : le32 , } # [test] fn bindgen_test_layout_SII_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SII_INDEX_KEY > () , 4usize , concat ! ("Size of: " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SII_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SII_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SII_INDEX_KEY > ())) . security_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SII_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct SDH_INDEX_KEY - The index entry key used in the $SDH index."] # [doc = ""] # [doc = " The keys are sorted first by hash and then by security_id."] # [doc = " The collation rule is COLLATION_NTOFS_SECURITY_HASH."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct SDH_INDEX_KEY { pub hash : le32 , pub security_id : le32 , } # [test] fn bindgen_test_layout_SDH_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < SDH_INDEX_KEY > () , 8usize , concat ! ("Size of: " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < SDH_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (SDH_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . hash as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SDH_INDEX_KEY > ())) . security_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (SDH_INDEX_KEY) , "::" , stringify ! (security_id))) ; } # [doc = " struct VOLUME_NAME - Attribute: Volume name (0x60)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [repr (C , packed)] # [derive (Debug)] pub struct VOLUME_NAME { pub name : __IncompleteArrayField < ntfschar > , } # [test] fn bindgen_test_layout_VOLUME_NAME () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_NAME > () , 0usize , concat ! ("Size of: " , stringify ! (VOLUME_NAME))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_NAME > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_NAME))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_NAME > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_NAME) , "::" , stringify ! (name))) ; } pub const VOLUME_FLAGS_VOLUME_IS_DIRTY : VOLUME_FLAGS = 1 ; pub const VOLUME_FLAGS_VOLUME_RESIZE_LOG_FILE : VOLUME_FLAGS = 2 ; pub const VOLUME_FLAGS_VOLUME_UPGRADE_ON_MOUNT : VOLUME_FLAGS = 4 ; pub const VOLUME_FLAGS_VOLUME_MOUNTED_ON_NT4 : VOLUME_FLAGS = 8 ; pub const VOLUME_FLAGS_VOLUME_DELETE_USN_UNDERWAY : VOLUME_FLAGS = 16 ; pub const VOLUME_FLAGS_VOLUME_REPAIR_OBJECT_ID : VOLUME_FLAGS = 32 ; pub const VOLUME_FLAGS_VOLUME_CHKDSK_UNDERWAY : VOLUME_FLAGS = 16384 ; pub const VOLUME_FLAGS_VOLUME_MODIFIED_BY_CHKDSK : VOLUME_FLAGS = 32768 ; pub const VOLUME_FLAGS_VOLUME_FLAGS_MASK : VOLUME_FLAGS = 49215 ; # [doc = " enum VOLUME_FLAGS - Possible flags for the volume (16-bit)."] pub type VOLUME_FLAGS = u16 ; # [doc = " struct VOLUME_INFORMATION - Attribute: Volume information (0x70)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = " NOTE: Present only in FILE_Volume."] # [doc = " NOTE: Windows 2000 uses NTFS 3.0 while Windows NT4 service pack 6a uses"] # [doc = "\t NTFS 1.2. I haven't personally seen other values yet."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct VOLUME_INFORMATION { pub reserved : le64 , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : VOLUME_FLAGS , } # [test] fn bindgen_test_layout_VOLUME_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < VOLUME_INFORMATION > () , 12usize , concat ! ("Size of: " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < VOLUME_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (VOLUME_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . reserved as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . major_ver as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . minor_ver as * const _ as usize } , 9usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < VOLUME_INFORMATION > ())) . flags as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (VOLUME_INFORMATION) , "::" , stringify ! (flags))) ; } # [doc = " struct DATA_ATTR - Attribute: Data attribute (0x80)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Data contents of a file (i.e. the unnamed stream) or of a named stream."] # [repr (C , packed)] # [derive (Debug)] pub struct DATA_ATTR { pub data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_DATA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < DATA_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (DATA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < DATA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (DATA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < DATA_ATTR > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (DATA_ATTR) , "::" , stringify ! (data))) ; } pub const INDEX_HEADER_FLAGS_SMALL_INDEX : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_LARGE_INDEX : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_LEAF_NODE : INDEX_HEADER_FLAGS = 0 ; pub const INDEX_HEADER_FLAGS_INDEX_NODE : INDEX_HEADER_FLAGS = 1 ; pub const INDEX_HEADER_FLAGS_NODE_MASK : INDEX_HEADER_FLAGS = 1 ; # [doc = " enum INDEX_HEADER_FLAGS - Index header flags (8-bit)."] pub type INDEX_HEADER_FLAGS = u8 ; # [doc = " struct INDEX_HEADER -"] # [doc = ""] # [doc = " This is the header for indexes, describing the INDEX_ENTRY records, which"] # [doc = " follow the INDEX_HEADER. Together the index header and the index entries"] # [doc = " make up a complete index."] # [doc = ""] # [doc = " IMPORTANT NOTE: The offset, length and size structure members are counted"] # [doc = " relative to the start of the index header structure and not relative to the"] # [doc = " start of the index root or index allocation structures themselves."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_HEADER { pub entries_offset : le32 , pub index_length : le32 , pub allocated_size : le32 , pub ih_flags : INDEX_HEADER_FLAGS , pub reserved : [ntfs_u8 ; 3usize] , } # [test] fn bindgen_test_layout_INDEX_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . entries_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (entries_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . index_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (index_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . allocated_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . ih_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (ih_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_HEADER > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ROOT - Attribute: Index root (0x90)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [doc = ""] # [doc = " This is followed by a sequence of index entries (INDEX_ENTRY structures)"] # [doc = " as described by the index header."] # [doc = ""] # [doc = " When a directory is small enough to fit inside the index root then this"] # [doc = " is the only attribute describing the directory. When the directory is too"] # [doc = " large to fit in the index root, on the other hand, two additional attributes"] # [doc = " are present: an index allocation attribute, containing sub-nodes of the B+"] # [doc = " directory tree (see below), and a bitmap attribute, describing which virtual"] # [doc = " cluster numbers (vcns) in the index allocation attribute are in use by an"] # [doc = " index block."] # [doc = ""] # [doc = " NOTE: The root directory (FILE_root) contains an entry for itself. Other"] # [doc = " directories do not contain entries for themselves, though."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ROOT { pub type_ : ATTR_TYPES , pub collation_rule : COLLATION_RULES , pub index_block_size : le32 , pub clusters_per_index_block : s8 , pub reserved : [ntfs_u8 ; 3usize] , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_ROOT () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ROOT > () , 32usize , concat ! ("Size of: " , stringify ! (INDEX_ROOT))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ROOT > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ROOT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . type_ as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . collation_rule as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (collation_rule))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index_block_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . clusters_per_index_block as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (clusters_per_index_block))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . reserved as * const _ as usize } , 13usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ROOT > ())) . index as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ROOT) , "::" , stringify ! (index))) ; } # [doc = " struct INDEX_BLOCK - Attribute: Index allocation (0xa0)."] # [doc = ""] # [doc = " NOTE: Always non-resident (doesn't make sense to be resident anyway!)."] # [doc = ""] # [doc = " This is an array of index blocks. Each index block starts with an"] # [doc = " INDEX_BLOCK structure containing an index header, followed by a sequence of"] # [doc = " index entries (INDEX_ENTRY structures), as described by the INDEX_HEADER."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_BLOCK { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub lsn : leLSN , pub index_block_vcn : leVCN , pub index : INDEX_HEADER , } # [test] fn bindgen_test_layout_INDEX_BLOCK () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_BLOCK > () , 40usize , concat ! ("Size of: " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_BLOCK > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_BLOCK))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index_block_vcn as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index_block_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_BLOCK > ())) . index as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (INDEX_BLOCK) , "::" , stringify ! (index))) ; } pub type INDEX_ALLOCATION = INDEX_BLOCK ; # [doc = " struct REPARSE_INDEX_KEY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Reparse contains an index named $R listing"] # [doc = " all reparse points on the volume. The index entry keys are as defined"] # [doc = " below. Note, that there is no index data associated with the index entries."] # [doc = ""] # [doc = " The index entries are sorted by the index key file_id. The collation rule is"] # [doc = " COLLATION_NTOFS_ULONGS. FIXME: Verify whether the reparse_tag is not the"] # [doc = " primary key / is not a key at all. (AIA)"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct REPARSE_INDEX_KEY { pub reparse_tag : le32 , pub file_id : leMFT_REF , } # [test] fn bindgen_test_layout_REPARSE_INDEX_KEY () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_INDEX_KEY > () , 12usize , concat ! ("Size of: " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_INDEX_KEY > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_INDEX_KEY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_INDEX_KEY > ())) . file_id as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_INDEX_KEY) , "::" , stringify ! (file_id))) ; } pub const QUOTA_FLAGS_QUOTA_FLAG_DEFAULT_LIMITS : QUOTA_FLAGS = 1 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LIMIT_REACHED : QUOTA_FLAGS = 2 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ID_DELETED : QUOTA_FLAGS = 4 ; pub const QUOTA_FLAGS_QUOTA_FLAG_USER_MASK : QUOTA_FLAGS = 7 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_ENABLED : QUOTA_FLAGS = 16 ; pub const QUOTA_FLAGS_QUOTA_FLAG_ENFORCEMENT_ENABLED : QUOTA_FLAGS = 32 ; pub const QUOTA_FLAGS_QUOTA_FLAG_TRACKING_REQUESTED : QUOTA_FLAGS = 64 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_THRESHOLD : QUOTA_FLAGS = 128 ; pub const QUOTA_FLAGS_QUOTA_FLAG_LOG_LIMIT : QUOTA_FLAGS = 256 ; pub const QUOTA_FLAGS_QUOTA_FLAG_OUT_OF_DATE : QUOTA_FLAGS = 512 ; pub const QUOTA_FLAGS_QUOTA_FLAG_CORRUPT : QUOTA_FLAGS = 1024 ; pub const QUOTA_FLAGS_QUOTA_FLAG_PENDING_DELETES : QUOTA_FLAGS = 2048 ; # [doc = " enum QUOTA_FLAGS - Quota flags (32-bit)."] pub type QUOTA_FLAGS = u32 ; # [doc = " struct QUOTA_CONTROL_ENTRY -"] # [doc = ""] # [doc = " The system file FILE_Extend/$Quota contains two indexes $O and $Q. Quotas"] # [doc = " are on a per volume and per user basis."] # [doc = ""] # [doc = " The $Q index contains one entry for each existing user_id on the volume. The"] # [doc = " index key is the user_id of the user/group owning this quota control entry,"] # [doc = " i.e. the key is the owner_id. The user_id of the owner of a file, i.e. the"] # [doc = " owner_id, is found in the standard information attribute. The collation rule"] # [doc = " for $Q is COLLATION_NTOFS_ULONG."] # [doc = ""] # [doc = " The $O index contains one entry for each user/group who has been assigned"] # [doc = " a quota on that volume. The index key holds the SID of the user_id the"] # [doc = " entry belongs to, i.e. the owner_id. The collation rule for $O is"] # [doc = " COLLATION_NTOFS_SID."] # [doc = ""] # [doc = " The $O index entry data is the user_id of the user corresponding to the SID."] # [doc = " This user_id is used as an index into $Q to find the quota control entry"] # [doc = " associated with the SID."] # [doc = ""] # [doc = " The $Q index entry data is the quota control entry and is defined below."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct QUOTA_CONTROL_ENTRY { pub version : le32 , pub flags : QUOTA_FLAGS , pub bytes_used : le64 , pub change_time : sle64 , pub threshold : sle64 , pub limit : sle64 , pub exceeded_time : sle64 , pub sid : SID , } # [test] fn bindgen_test_layout_QUOTA_CONTROL_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_CONTROL_ENTRY > () , 60usize , concat ! ("Size of: " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_CONTROL_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_CONTROL_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . version as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . bytes_used as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (bytes_used))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . change_time as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . threshold as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (threshold))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . limit as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (limit))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . exceeded_time as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (exceeded_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_CONTROL_ENTRY > ())) . sid as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (QUOTA_CONTROL_ENTRY) , "::" , stringify ! (sid))) ; } # [doc = " struct QUOTA_O_INDEX_DATA -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct QUOTA_O_INDEX_DATA { pub owner_id : le32 , pub unknown : le32 , } # [test] fn bindgen_test_layout_QUOTA_O_INDEX_DATA () { assert_eq ! (:: std :: mem :: size_of :: < QUOTA_O_INDEX_DATA > () , 8usize , concat ! ("Size of: " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (:: std :: mem :: align_of :: < QUOTA_O_INDEX_DATA > () , 1usize , concat ! ("Alignment of " , stringify ! (QUOTA_O_INDEX_DATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < QUOTA_O_INDEX_DATA > ())) . unknown as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (QUOTA_O_INDEX_DATA) , "::" , stringify ! (unknown))) ; } pub const PREDEFINED_OWNER_IDS_QUOTA_INVALID_ID : PREDEFINED_OWNER_IDS = 0 ; pub const PREDEFINED_OWNER_IDS_QUOTA_DEFAULTS_ID : PREDEFINED_OWNER_IDS = 1 ; pub const PREDEFINED_OWNER_IDS_QUOTA_FIRST_USER_ID : PREDEFINED_OWNER_IDS = 256 ; # [doc = " enum PREDEFINED_OWNER_IDS - Predefined owner_id values (32-bit)."] pub type PREDEFINED_OWNER_IDS = u32 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_NODE : INDEX_ENTRY_FLAGS = 1 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_END : INDEX_ENTRY_FLAGS = 2 ; pub const INDEX_ENTRY_FLAGS_INDEX_ENTRY_SPACE_FILLER : INDEX_ENTRY_FLAGS = 65535 ; # [doc = " enum INDEX_ENTRY_FLAGS - Index entry flags (16-bit)."] pub type INDEX_ENTRY_FLAGS = u16 ; # [doc = " struct INDEX_ENTRY_HEADER - This the index entry header (see below)."] # [doc = ""] # [doc = "         =========================================================="] # [doc = "         !!!!!  SEE DESCRIPTION OF THE FIELDS AT INDEX_ENTRY  !!!!!"] # [doc = "         =========================================================="] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct INDEX_ENTRY_HEADER { pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY_HEADER__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY_HEADER > () , 16usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY_HEADER > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct INDEX_ENTRY - This is an index entry."] # [doc = ""] # [doc = " A sequence of such entries follows each INDEX_HEADER structure. Together"] # [doc = " they make up a complete index. The index follows either an index root"] # [doc = " attribute or an index allocation attribute."] # [doc = ""] # [doc = " NOTE: Before NTFS 3.0 only filename attributes were indexed."] # [repr (C , packed)] pub struct INDEX_ENTRY { pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1 , pub length : le16 , pub key_length : le16 , pub ie_flags : INDEX_ENTRY_FLAGS , pub reserved : le16 , pub key : INDEX_ENTRY__bindgen_ty_2 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union INDEX_ENTRY__bindgen_ty_1 { pub indexed_file : leMFT_REF , pub __bindgen_anon_1 : INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 , _bindgen_union_align : [u8 ; 8usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 { pub data_offset : le16 , pub data_length : le16 , pub reservedV : le32 , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . data_length as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1 > ())) . reservedV as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (reservedV))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_1 > ())) . indexed_file as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_1) , "::" , stringify ! (indexed_file))) ; } # [repr (C , packed)] pub struct INDEX_ENTRY__bindgen_ty_2 { pub file_name : __BindgenUnionField < FILE_NAME_ATTR > , pub sii : __BindgenUnionField < SII_INDEX_KEY > , pub sdh : __BindgenUnionField < SDH_INDEX_KEY > , pub object_id : __BindgenUnionField < GUID > , pub reparse : __BindgenUnionField < REPARSE_INDEX_KEY > , pub sid : __BindgenUnionField < SID > , pub owner_id : __BindgenUnionField < le32 > , pub bindgen_union_field : [u8 ; 66usize] , } # [test] fn bindgen_test_layout_INDEX_ENTRY__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 66usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . file_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (file_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sii as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sdh as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . object_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (object_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . sid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY__bindgen_ty_2 > ())) . owner_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY__bindgen_ty_2) , "::" , stringify ! (owner_id))) ; } # [test] fn bindgen_test_layout_INDEX_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < INDEX_ENTRY > () , 82usize , concat ! ("Size of: " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < INDEX_ENTRY > () , 1usize , concat ! ("Alignment of " , stringify ! (INDEX_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . length as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key_length as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . ie_flags as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (ie_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . reserved as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INDEX_ENTRY > ())) . key as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INDEX_ENTRY) , "::" , stringify ! (key))) ; } # [doc = " struct BITMAP_ATTR - Attribute: Bitmap (0xb0)."] # [doc = ""] # [doc = " Contains an array of bits (aka a bitfield)."] # [doc = ""] # [doc = " When used in conjunction with the index allocation attribute, each bit"] # [doc = " corresponds to one index block within the index allocation attribute. Thus"] # [doc = " the number of bits in the bitmap * index block size / cluster size is the"] # [doc = " number of clusters in the index allocation attribute."] # [repr (C , packed)] # [derive (Debug)] pub struct BITMAP_ATTR { pub bitmap : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_BITMAP_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < BITMAP_ATTR > () , 0usize , concat ! ("Size of: " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < BITMAP_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (BITMAP_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < BITMAP_ATTR > ())) . bitmap as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (BITMAP_ATTR) , "::" , stringify ! (bitmap))) ; } pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DIRECTORY : PREDEFINED_REPARSE_TAGS = 268435456 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_ALIAS : PREDEFINED_REPARSE_TAGS = 536870912 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_HIGH_LATENCY : PREDEFINED_REPARSE_TAGS = 1073741824 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_IS_MICROSOFT : PREDEFINED_REPARSE_TAGS = 2147483648 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ZERO : PREDEFINED_REPARSE_TAGS = 0 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_ONE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_RESERVED_RANGE : PREDEFINED_REPARSE_TAGS = 1 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CSV : PREDEFINED_REPARSE_TAGS = 2147483657 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DEDUP : PREDEFINED_REPARSE_TAGS = 2147483667 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFS : PREDEFINED_REPARSE_TAGS = 2147483658 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFSR : PREDEFINED_REPARSE_TAGS = 2147483666 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM : PREDEFINED_REPARSE_TAGS = 3221225476 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_HSM2 : PREDEFINED_REPARSE_TAGS = 2147483654 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_MOUNT_POINT : PREDEFINED_REPARSE_TAGS = 2684354563 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_NFS : PREDEFINED_REPARSE_TAGS = 2147483668 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SIS : PREDEFINED_REPARSE_TAGS = 2147483655 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354572 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WIM : PREDEFINED_REPARSE_TAGS = 2147483656 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_DFM : PREDEFINED_REPARSE_TAGS = 2147483670 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WOF : PREDEFINED_REPARSE_TAGS = 2147483671 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_WCI : PREDEFINED_REPARSE_TAGS = 2147483672 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_CLOUD : PREDEFINED_REPARSE_TAGS = 2415919130 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_APPEXECLINK : PREDEFINED_REPARSE_TAGS = 2147483675 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_GVFS : PREDEFINED_REPARSE_TAGS = 2415919132 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_SYMLINK : PREDEFINED_REPARSE_TAGS = 2684354589 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_AF_UNIX : PREDEFINED_REPARSE_TAGS = 2147483683 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_FIFO : PREDEFINED_REPARSE_TAGS = 2147483684 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_CHR : PREDEFINED_REPARSE_TAGS = 2147483685 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_LX_BLK : PREDEFINED_REPARSE_TAGS = 2147483686 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_TAG_VALID_VALUES : PREDEFINED_REPARSE_TAGS = 4026597375 ; pub const PREDEFINED_REPARSE_TAGS_IO_REPARSE_PLUGIN_SELECT : PREDEFINED_REPARSE_TAGS = 4294905855 ; # [doc = " enum PREDEFINED_REPARSE_TAGS -"] # [doc = ""] # [doc = " The reparse point tag defines the type of the reparse point. It also"] # [doc = " includes several flags, which further describe the reparse point."] # [doc = ""] # [doc = " The reparse point tag is an unsigned 32-bit value divided in three parts:"] # [doc = ""] # [doc = " 1. The least significant 16 bits (i.e. bits 0 to 15) specify the type of"] # [doc = "    the reparse point."] # [doc = " 2. The 12 bits after this (i.e. bits 16 to 27) are reserved for future use."] # [doc = " 3. The most significant four bits are flags describing the reparse point."] # [doc = "    They are defined as follows:"] # [doc = "\tbit 28: Directory bit. If set, the directory is not a surrogate"] # [doc = "\t\tand can be used the usual way."] # [doc = "\tbit 29: Name surrogate bit. If set, the filename is an alias for"] # [doc = "\t\tanother object in the system."] # [doc = "\tbit 30: High-latency bit. If set, accessing the first byte of data will"] # [doc = "\t\tbe slow. (E.g. the data is stored on a tape drive.)"] # [doc = "\tbit 31: Microsoft bit. If set, the tag is owned by Microsoft. User"] # [doc = "\t\tdefined tags have to use zero here."] # [doc = " 4. Moreover, on Windows 10 :"] # [doc = "\tSome flags may be used in bits 12 to 15 to further describe the"] # [doc = "\treparse point."] pub type PREDEFINED_REPARSE_TAGS = u32 ; # [doc = " struct REPARSE_POINT - Attribute: Reparse point (0xc0)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [repr (C , packed)] # [derive (Debug)] pub struct REPARSE_POINT { pub reparse_tag : le32 , pub reparse_data_length : le16 , pub reserved : le16 , pub reparse_data : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_REPARSE_POINT () { assert_eq ! (:: std :: mem :: size_of :: < REPARSE_POINT > () , 8usize , concat ! ("Size of: " , stringify ! (REPARSE_POINT))) ; assert_eq ! (:: std :: mem :: align_of :: < REPARSE_POINT > () , 1usize , concat ! ("Alignment of " , stringify ! (REPARSE_POINT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_tag as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_tag))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reserved as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < REPARSE_POINT > ())) . reparse_data as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (REPARSE_POINT) , "::" , stringify ! (reparse_data))) ; } # [doc = " struct EA_INFORMATION - Attribute: Extended attribute information (0xd0)."] # [doc = ""] # [doc = " NOTE: Always resident."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EA_INFORMATION { pub ea_length : le16 , pub need_ea_count : le16 , pub ea_query_length : le32 , } # [test] fn bindgen_test_layout_EA_INFORMATION () { assert_eq ! (:: std :: mem :: size_of :: < EA_INFORMATION > () , 8usize , concat ! ("Size of: " , stringify ! (EA_INFORMATION))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_INFORMATION > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_INFORMATION))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . need_ea_count as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (need_ea_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_INFORMATION > ())) . ea_query_length as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_INFORMATION) , "::" , stringify ! (ea_query_length))) ; } pub const EA_FLAGS_NEED_EA : EA_FLAGS = 128 ; # [doc = " enum EA_FLAGS - Extended attribute flags (8-bit)."] pub type EA_FLAGS = u8 ; # [doc = " struct EA_ATTR - Attribute: Extended attribute (EA) (0xe0)."] # [doc = ""] # [doc = " Like the attribute list and the index buffer list, the EA attribute value is"] # [doc = " a sequence of EA_ATTR variable length records."] # [doc = ""] # [doc = " FIXME: It appears weird that the EA name is not Unicode. Is it true?"] # [doc = " FIXME: It seems that name is always uppercased. Is it true?"] # [repr (C , packed)] # [derive (Debug)] pub struct EA_ATTR { pub next_entry_offset : le32 , pub flags : EA_FLAGS , pub name_length : ntfs_u8 , pub value_length : le16 , pub name : __IncompleteArrayField < ntfs_u8 > , pub value : __IncompleteArrayField < ntfs_u8 > , } # [test] fn bindgen_test_layout_EA_ATTR () { assert_eq ! (:: std :: mem :: size_of :: < EA_ATTR > () , 8usize , concat ! ("Size of: " , stringify ! (EA_ATTR))) ; assert_eq ! (:: std :: mem :: align_of :: < EA_ATTR > () , 1usize , concat ! ("Alignment of " , stringify ! (EA_ATTR))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . next_entry_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (next_entry_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . flags as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . name_length as * const _ as usize } , 5usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . value_length as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (value_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . name as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EA_ATTR > ())) . value as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EA_ATTR) , "::" , stringify ! (value))) ; } # [doc = " struct PROPERTY_SET - Attribute: Property set (0xf0)."] # [doc = ""] # [doc = " Intended to support Native Structure Storage (NSS) - a feature removed from"] # [doc = " NTFS 3.0 during beta testing."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct PROPERTY_SET { } # [test] fn bindgen_test_layout_PROPERTY_SET () { assert_eq ! (:: std :: mem :: size_of :: < PROPERTY_SET > () , 0usize , concat ! ("Size of: " , stringify ! (PROPERTY_SET))) ; assert_eq ! (:: std :: mem :: align_of :: < PROPERTY_SET > () , 1usize , concat ! ("Alignment of " , stringify ! (PROPERTY_SET))) ; } # [doc = " struct LOGGED_UTILITY_STREAM - Attribute: Logged utility stream (0x100)."] # [doc = ""] # [doc = " NOTE: Can be resident or non-resident."] # [doc = ""] # [doc = " Operations on this attribute are logged to the journal ($LogFile) like"] # [doc = " normal metadata changes."] # [doc = ""] # [doc = " Used by the Encrypting File System (EFS).  All encrypted files have this"] # [doc = " attribute with the name $EFS.  See below for the relevant structures."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct LOGGED_UTILITY_STREAM { } # [test] fn bindgen_test_layout_LOGGED_UTILITY_STREAM () { assert_eq ! (:: std :: mem :: size_of :: < LOGGED_UTILITY_STREAM > () , 0usize , concat ! ("Size of: " , stringify ! (LOGGED_UTILITY_STREAM))) ; assert_eq ! (:: std :: mem :: align_of :: < LOGGED_UTILITY_STREAM > () , 1usize , concat ! ("Alignment of " , stringify ! (LOGGED_UTILITY_STREAM))) ; } # [doc = " struct EFS_ATTR_HEADER - \"$EFS\" header."] # [doc = ""] # [doc = " The header of the Logged utility stream (0x100) attribute named \"$EFS\"."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_ATTR_HEADER { pub length : le32 , pub state : le32 , pub version : le32 , pub crypto_api_version : le32 , pub unknown4 : [ntfs_u8 ; 16usize] , pub unknown5 : [ntfs_u8 ; 16usize] , pub unknown6 : [ntfs_u8 ; 16usize] , pub offset_to_ddf_array : le32 , pub offset_to_drf_array : le32 , pub reserved : le32 , } # [test] fn bindgen_test_layout_EFS_ATTR_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_ATTR_HEADER > () , 76usize , concat ! ("Size of: " , stringify ! (EFS_ATTR_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_ATTR_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_ATTR_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . state as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . version as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . crypto_api_version as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (crypto_api_version))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown4 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown4))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown5 as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown5))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . unknown6 as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (unknown6))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . offset_to_ddf_array as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (offset_to_ddf_array))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . offset_to_drf_array as * const _ as usize } , 68usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (offset_to_drf_array))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_ATTR_HEADER > ())) . reserved as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (EFS_ATTR_HEADER) , "::" , stringify ! (reserved))) ; } # [doc = " struct EFS_DF_ARRAY_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_ARRAY_HEADER { pub df_count : le32 , } # [test] fn bindgen_test_layout_EFS_DF_ARRAY_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_ARRAY_HEADER > () , 4usize , concat ! ("Size of: " , stringify ! (EFS_DF_ARRAY_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_ARRAY_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_ARRAY_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_ARRAY_HEADER > ())) . df_count as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_ARRAY_HEADER) , "::" , stringify ! (df_count))) ; } # [doc = " struct EFS_DF_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_HEADER { pub df_length : le32 , pub cred_header_offset : le32 , pub fek_size : le32 , pub fek_offset : le32 , pub unknown1 : le32 , } # [test] fn bindgen_test_layout_EFS_DF_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (EFS_DF_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . df_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (df_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . cred_header_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (cred_header_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . fek_size as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (fek_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . fek_offset as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (fek_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_HEADER > ())) . unknown1 as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_HEADER) , "::" , stringify ! (unknown1))) ; } # [doc = " struct EFS_DF_CREDENTIAL_HEADER -"] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER { pub cred_length : le32 , pub sid_offset : le32 , pub type_ : le32 , pub __bindgen_anon_1 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 { pub __bindgen_anon_1 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 , pub __bindgen_anon_2 : EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 , _bindgen_union_align : [u8 ; 16usize] , } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 { pub container_name_offset : le32 , pub provider_name_offset : le32 , pub public_key_blob_offset : le32 , pub public_key_blob_size : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . container_name_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (container_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . provider_name_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (provider_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . public_key_blob_offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (public_key_blob_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1 > ())) . public_key_blob_size as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (public_key_blob_size))) ; } # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 { pub cert_thumbprint_header_size : le32 , pub cert_thumbprint_header_offset : le32 , pub unknown1 : le32 , pub unknown2 : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . cert_thumbprint_header_size as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (cert_thumbprint_header_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . cert_thumbprint_header_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (cert_thumbprint_header_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . unknown1 as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (unknown1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2 > ())) . unknown2 as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1__bindgen_ty_2) , "::" , stringify ! (unknown2))) ; } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER__bindgen_ty_1))) ; } # [test] fn bindgen_test_layout_EFS_DF_CREDENTIAL_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CREDENTIAL_HEADER > () , 28usize , concat ! ("Size of: " , stringify ! (EFS_DF_CREDENTIAL_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CREDENTIAL_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CREDENTIAL_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . cred_length as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (cred_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . sid_offset as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (sid_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CREDENTIAL_HEADER > ())) . type_ as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CREDENTIAL_HEADER) , "::" , stringify ! (type_))) ; } pub type EFS_DF_CRED_HEADER = EFS_DF_CREDENTIAL_HEADER ; # [doc = " struct EFS_DF_CERTIFICATE_THUMBPRINT_HEADER -"] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct EFS_DF_CERTIFICATE_THUMBPRINT_HEADER { pub thumbprint_offset : le32 , pub thumbprint_size : le32 , pub container_name_offset : le32 , pub provider_name_offset : le32 , pub user_name_offset : le32 , } # [test] fn bindgen_test_layout_EFS_DF_CERTIFICATE_THUMBPRINT_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > () , 20usize , concat ! ("Size of: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . thumbprint_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (thumbprint_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . thumbprint_size as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (thumbprint_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . container_name_offset as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (container_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . provider_name_offset as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (provider_name_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < EFS_DF_CERTIFICATE_THUMBPRINT_HEADER > ())) . user_name_offset as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (EFS_DF_CERTIFICATE_THUMBPRINT_HEADER) , "::" , stringify ! (user_name_offset))) ; } pub type EFS_DF_CERT_THUMBPRINT_HEADER = EFS_DF_CERTIFICATE_THUMBPRINT_HEADER ; pub const INTX_FILE_TYPES_INTX_SYMBOLIC_LINK : INTX_FILE_TYPES = 93254307636604489 ; pub const INTX_FILE_TYPES_INTX_CHARACTER_DEVICE : INTX_FILE_TYPES = 23160402711178825 ; pub const INTX_FILE_TYPES_INTX_BLOCK_DEVICE : INTX_FILE_TYPES = 21194471625748041 ; pub type INTX_FILE_TYPES = u64 ; # [repr (C , packed)] pub struct INTX_FILE { pub magic : INTX_FILE_TYPES , pub __bindgen_anon_1 : INTX_FILE__bindgen_ty_1 , } # [repr (C , packed)] pub struct INTX_FILE__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > , pub target : __BindgenUnionField < [ntfschar ; 0usize] > , pub bindgen_union_field : [u8 ; 16usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct INTX_FILE__bindgen_ty_1__bindgen_ty_1 { pub major : le64 , pub minor : le64 , pub device_end : __IncompleteArrayField < * mut :: std :: os :: raw :: c_void > , } # [test] fn bindgen_test_layout_INTX_FILE__bindgen_ty_1__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (INTX_FILE__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INTX_FILE__bindgen_ty_1__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > ())) . major as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INTX_FILE__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (major))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > ())) . minor as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (INTX_FILE__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (minor))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INTX_FILE__bindgen_ty_1__bindgen_ty_1 > ())) . device_end as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (INTX_FILE__bindgen_ty_1__bindgen_ty_1) , "::" , stringify ! (device_end))) ; } # [test] fn bindgen_test_layout_INTX_FILE__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < INTX_FILE__bindgen_ty_1 > () , 16usize , concat ! ("Size of: " , stringify ! (INTX_FILE__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < INTX_FILE__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (INTX_FILE__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INTX_FILE__bindgen_ty_1 > ())) . target as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INTX_FILE__bindgen_ty_1) , "::" , stringify ! (target))) ; } # [test] fn bindgen_test_layout_INTX_FILE () { assert_eq ! (:: std :: mem :: size_of :: < INTX_FILE > () , 24usize , concat ! ("Size of: " , stringify ! (INTX_FILE))) ; assert_eq ! (:: std :: mem :: align_of :: < INTX_FILE > () , 1usize , concat ! ("Alignment of " , stringify ! (INTX_FILE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < INTX_FILE > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (INTX_FILE) , "::" , stringify ! (magic))) ; } pub type ntfs_inode = _ntfs_inode ; pub type ntfs_volume = _ntfs_volume ; pub const DEFSECAUTH1 : _bindgen_ty_1 = - 1153374643 ; pub const DEFSECAUTH2 : _bindgen_ty_1 = 589793238 ; pub const DEFSECAUTH3 : _bindgen_ty_1 = 462843383 ; pub const DEFSECBASE : _bindgen_ty_1 = 10000 ; pub type _bindgen_ty_1 = i32 ; # [doc = " struct ntfs_device_operations -"] # [doc = ""] # [doc = " The ntfs device operations defining all operations that can be performed on"] # [doc = " the low level device described by an ntfs device structure."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ntfs_device_operations { pub open : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > , pub close : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int > , pub seek : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , offset : s64 , whence : :: std :: os :: raw :: c_int) -> s64 > , pub read : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , buf : * mut :: std :: os :: raw :: c_void , count : s64) -> s64 > , pub write : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , buf : * const :: std :: os :: raw :: c_void , count : s64) -> s64 > , pub pread : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , buf : * mut :: std :: os :: raw :: c_void , count : s64 , offset : s64) -> s64 > , pub pwrite : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , buf : * const :: std :: os :: raw :: c_void , count : s64 , offset : s64) -> s64 > , pub sync : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int > , pub stat : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , buf : * mut stat) -> :: std :: os :: raw :: c_int > , pub ioctl : :: std :: option :: Option < unsafe extern "C" fn (dev : * mut ntfs_device , request : :: std :: os :: raw :: c_ulong , argp : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int > , } # [test] fn bindgen_test_layout_ntfs_device_operations () { assert_eq ! (:: std :: mem :: size_of :: < ntfs_device_operations > () , 80usize , concat ! ("Size of: " , stringify ! (ntfs_device_operations))) ; assert_eq ! (:: std :: mem :: align_of :: < ntfs_device_operations > () , 8usize , concat ! ("Alignment of " , stringify ! (ntfs_device_operations))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . open as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (open))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . close as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (close))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . seek as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (seek))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . read as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (read))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . write as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (write))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . pread as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (pread))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . pwrite as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (pwrite))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . sync as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (sync))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . stat as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (stat))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device_operations > ())) . ioctl as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (ntfs_device_operations) , "::" , stringify ! (ioctl))) ; } extern "C" { pub static mut ntfs_device_unix_io_ops : ntfs_device_operations ; } pub const ntfs_device_state_bits_ND_Open : ntfs_device_state_bits = 0 ; pub const ntfs_device_state_bits_ND_ReadOnly : ntfs_device_state_bits = 1 ; pub const ntfs_device_state_bits_ND_Dirty : ntfs_device_state_bits = 2 ; pub const ntfs_device_state_bits_ND_Block : ntfs_device_state_bits = 3 ; pub const ntfs_device_state_bits_ND_Sync : ntfs_device_state_bits = 4 ; # [doc = " enum ntfs_device_state_bits -"] # [doc = ""] # [doc = " Defined bits for the state field in the ntfs_device structure."] pub type ntfs_device_state_bits = u32 ; # [doc = " struct ntfs_device -"] # [doc = ""] # [doc = " The ntfs device structure defining all operations needed to access the low"] # [doc = " level device underlying the ntfs volume."] # [doc = ""] # [doc = " Note d_heads and d_sectors_per_track are only set as a result of a call to"] # [doc = " either ntfs_device_heads_get() or ntfs_device_sectors_per_track_get() (both"] # [doc = " calls will set up both fields or if getting them failed they will be left at"] # [doc = " -1)."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ntfs_device { pub d_ops : * mut ntfs_device_operations , pub d_state : :: std :: os :: raw :: c_ulong , pub d_name : * mut :: std :: os :: raw :: c_char , pub d_private : * mut :: std :: os :: raw :: c_void , pub d_heads : :: std :: os :: raw :: c_int , pub d_sectors_per_track : :: std :: os :: raw :: c_int , } # [test] fn bindgen_test_layout_ntfs_device () { assert_eq ! (:: std :: mem :: size_of :: < ntfs_device > () , 40usize , concat ! ("Size of: " , stringify ! (ntfs_device))) ; assert_eq ! (:: std :: mem :: align_of :: < ntfs_device > () , 8usize , concat ! ("Alignment of " , stringify ! (ntfs_device))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_ops as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_ops))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_state as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_name as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_private as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_private))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_heads as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_heads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_device > ())) . d_sectors_per_track as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (ntfs_device) , "::" , stringify ! (d_sectors_per_track))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct stat { _unused : [u8 ; 0] , } extern "C" { pub fn ntfs_device_alloc (name : * const :: std :: os :: raw :: c_char , state : :: std :: os :: raw :: c_long , dops : * mut ntfs_device_operations , priv_data : * mut :: std :: os :: raw :: c_void) -> * mut ntfs_device ; } extern "C" { pub fn ntfs_device_free (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_device_sync (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_pread (dev : * mut ntfs_device , pos : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_pwrite (dev : * mut ntfs_device , pos : s64 , count : s64 , b : * const :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_mst_pread (dev : * mut ntfs_device , pos : s64 , count : s64 , bksize : ntfs_u32 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_mst_pwrite (dev : * mut ntfs_device , pos : s64 , count : s64 , bksize : ntfs_u32 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_cluster_read (vol : * const ntfs_volume , lcn : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_cluster_write (vol : * const ntfs_volume , lcn : s64 , count : s64 , b : * const :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_device_size_get (dev : * mut ntfs_device , block_size : :: std :: os :: raw :: c_int) -> s64 ; } extern "C" { pub fn ntfs_device_partition_start_sector_get (dev : * mut ntfs_device) -> s64 ; } extern "C" { pub fn ntfs_device_heads_get (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_device_sectors_per_track_get (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_device_sector_size_get (dev : * mut ntfs_device) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_device_block_size_set (dev : * mut ntfs_device , block_size : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } pub type ntfs_attr = _ntfs_attr ; pub type ntfs_attr_search_ctx = _ntfs_attr_search_ctx ; extern "C" { pub fn ntfs_names_are_equal (s1 : * const ntfschar , s1_len : size_t , s2 : * const ntfschar , s2_len : size_t , ic : IGNORE_CASE_BOOL , upcase : * const ntfschar , upcase_size : ntfs_u32) -> BOOL ; } extern "C" { pub fn ntfs_names_full_collate (name1 : * const ntfschar , name1_len : ntfs_u32 , name2 : * const ntfschar , name2_len : ntfs_u32 , ic : IGNORE_CASE_BOOL , upcase : * const ntfschar , upcase_len : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ucsncmp (s1 : * const ntfschar , s2 : * const ntfschar , n : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ucsncasecmp (s1 : * const ntfschar , s2 : * const ntfschar , n : size_t , upcase : * const ntfschar , upcase_size : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ucsnlen (s : * const ntfschar , maxlen : ntfs_u32) -> ntfs_u32 ; } extern "C" { pub fn ntfs_ucsndup (s : * const ntfschar , maxlen : ntfs_u32) -> * mut ntfschar ; } extern "C" { pub fn ntfs_name_upcase (name : * mut ntfschar , name_len : ntfs_u32 , upcase : * const ntfschar , upcase_len : ntfs_u32) ; } extern "C" { pub fn ntfs_name_locase (name : * mut ntfschar , name_len : ntfs_u32 , locase : * const ntfschar , locase_len : ntfs_u32) ; } extern "C" { pub fn ntfs_file_value_upcase (file_name_attr : * mut FILE_NAME_ATTR , upcase : * const ntfschar , upcase_len : ntfs_u32) ; } extern "C" { pub fn ntfs_ucstombs (ins : * const ntfschar , ins_len : :: std :: os :: raw :: c_int , outs : * mut * mut :: std :: os :: raw :: c_char , outs_len : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mbstoucs (ins : * const :: std :: os :: raw :: c_char , outs : * mut * mut ntfschar) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_uppercase_mbs (low : * const :: std :: os :: raw :: c_char , upcase : * const ntfschar , upcase_len : ntfs_u32) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_upcase_table_build (uc : * mut ntfschar , uc_len : ntfs_u32) ; } extern "C" { pub fn ntfs_upcase_build_default (upcase : * mut * mut ntfschar) -> ntfs_u32 ; } extern "C" { pub fn ntfs_locase_table_build (uc : * const ntfschar , uc_cnt : ntfs_u32) -> * mut ntfschar ; } extern "C" { pub fn ntfs_str2ucs (s : * const :: std :: os :: raw :: c_char , len : * mut :: std :: os :: raw :: c_int) -> * mut ntfschar ; } extern "C" { pub fn ntfs_ucsfree (ucs : * mut ntfschar) ; } extern "C" { pub fn ntfs_forbidden_chars (name : * const ntfschar , len : :: std :: os :: raw :: c_int , strict : BOOL) -> BOOL ; } extern "C" { pub fn ntfs_forbidden_names (vol : * mut ntfs_volume , name : * const ntfschar , len : :: std :: os :: raw :: c_int , strict : BOOL) -> BOOL ; } extern "C" { pub fn ntfs_collapsible_chars (vol : * mut ntfs_volume , shortname : * const ntfschar , shortlen : :: std :: os :: raw :: c_int , longname : * const ntfschar , longlen : :: std :: os :: raw :: c_int) -> BOOL ; } extern "C" { pub fn ntfs_set_char_encoding (locale : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } pub type runlist_element = _runlist_element ; pub type runlist = runlist_element ; # [doc = " struct _runlist_element - in memory vcn to lcn mapping array element."] # [doc = " @vcn:\tstarting vcn of the current array element"] # [doc = " @lcn:\tstarting lcn of the current array element"] # [doc = " @length:\tlength in clusters of the current array element"] # [doc = ""] # [doc = " The last vcn (in fact the last vcn + 1) is reached when length == 0."] # [doc = ""] # [doc = " When lcn == -1 this means that the count vcns starting at vcn are not"] # [doc = " physically allocated (i.e. this is a hole / data is sparse)."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _runlist_element { pub vcn : VCN , pub lcn : LCN , pub length : s64 , } # [test] fn bindgen_test_layout__runlist_element () { assert_eq ! (:: std :: mem :: size_of :: < _runlist_element > () , 24usize , concat ! ("Size of: " , stringify ! (_runlist_element))) ; assert_eq ! (:: std :: mem :: align_of :: < _runlist_element > () , 8usize , concat ! ("Alignment of " , stringify ! (_runlist_element))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _runlist_element > ())) . vcn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_runlist_element) , "::" , stringify ! (vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _runlist_element > ())) . lcn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_runlist_element) , "::" , stringify ! (lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _runlist_element > ())) . length as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_runlist_element) , "::" , stringify ! (length))) ; } extern "C" { pub fn ntfs_rl_extend (na : * mut ntfs_attr , rl : * mut runlist_element , more_entries : :: std :: os :: raw :: c_int) -> * mut runlist_element ; } extern "C" { pub fn ntfs_rl_vcn_to_lcn (rl : * const runlist_element , vcn : VCN) -> LCN ; } extern "C" { pub fn ntfs_rl_pread (vol : * const ntfs_volume , rl : * const runlist_element , pos : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_rl_pwrite (vol : * const ntfs_volume , rl : * const runlist_element , ofs : s64 , pos : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_runlists_merge (drl : * mut runlist_element , srl : * mut runlist_element) -> * mut runlist_element ; } extern "C" { pub fn ntfs_mapping_pairs_decompress (vol : * const ntfs_volume , attr : * const ATTR_RECORD , old_rl : * mut runlist_element) -> * mut runlist_element ; } extern "C" { pub fn ntfs_get_nr_significant_bytes (n : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_size_for_mapping_pairs (vol : * const ntfs_volume , rl : * const runlist_element , start_vcn : VCN , max_size : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_write_significant_bytes (dst : * mut ntfs_u8 , dst_max : * const ntfs_u8 , n : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mapping_pairs_build (vol : * const ntfs_volume , dst : * mut ntfs_u8 , dst_len : :: std :: os :: raw :: c_int , rl : * const runlist_element , start_vcn : VCN , stop_rl : * mut * const runlist_element) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_rl_truncate (arl : * mut * mut runlist , start_vcn : VCN) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_rl_sparse (rl : * mut runlist) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_rl_get_compressed_size (vol : * mut ntfs_volume , rl : * mut runlist) -> s64 ; } pub type ntfs_log_handler = :: std :: option :: Option < unsafe extern "C" fn (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn ntfs_log_set_handler (handler : ntfs_log_handler) ; } extern "C" { pub fn ntfs_log_handler_syslog (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_handler_fprintf (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_handler_null (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_handler_stdout (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_handler_outerr (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_handler_stderr (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , args : * mut __va_list_tag) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_set_levels (levels : ntfs_u32) -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_clear_levels (levels : ntfs_u32) -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_get_levels () -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_set_flags (flags : ntfs_u32) -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_clear_flags (flags : ntfs_u32) -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_get_flags () -> ntfs_u32 ; } extern "C" { pub fn ntfs_log_parse_option (option : * const :: std :: os :: raw :: c_char) -> BOOL ; } extern "C" { pub fn ntfs_log_redirect (function : * const :: std :: os :: raw :: c_char , file : * const :: std :: os :: raw :: c_char , line : :: std :: os :: raw :: c_int , level : ntfs_u32 , data : * mut :: std :: os :: raw :: c_void , format : * const :: std :: os :: raw :: c_char , ...) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_log_early_error (format : * const :: std :: os :: raw :: c_char , ...) ; } extern "C" { pub static mut AT_UNNAMED : [ntfschar ; 0usize] ; } extern "C" { pub static mut STREAM_SDS : [ntfschar ; 0usize] ; } extern "C" { pub static mut TXF_DATA : [ntfschar ; 10usize] ; } pub const ntfs_lcn_special_values_LCN_HOLE : ntfs_lcn_special_values = - 1 ; pub const ntfs_lcn_special_values_LCN_RL_NOT_MAPPED : ntfs_lcn_special_values = - 2 ; pub const ntfs_lcn_special_values_LCN_ENOENT : ntfs_lcn_special_values = - 3 ; pub const ntfs_lcn_special_values_LCN_EINVAL : ntfs_lcn_special_values = - 4 ; pub const ntfs_lcn_special_values_LCN_EIO : ntfs_lcn_special_values = - 5 ; # [doc = " enum ntfs_lcn_special_values - special return values for ntfs_*_vcn_to_lcn()"] # [doc = ""] # [doc = " Special return values for ntfs_rl_vcn_to_lcn() and ntfs_attr_vcn_to_lcn()."] # [doc = ""] # [doc = " TODO: Describe them."] pub type ntfs_lcn_special_values = i32 ; pub const hole_type_HOLES_NO : hole_type = 0 ; pub const hole_type_HOLES_OK : hole_type = 1 ; pub const hole_type_HOLES_DELAY : hole_type = 2 ; pub const hole_type_HOLES_NONRES : hole_type = 3 ; pub type hole_type = u32 ; # [doc = " struct ntfs_attr_search_ctx - search context used in attribute search functions"] # [doc = " @mrec:\tbuffer containing mft record to search"] # [doc = " @attr:\tattribute record in @mrec where to begin/continue search"] # [doc = " @is_first:\tif true lookup_attr() begins search with @attr, else after @attr"] # [doc = ""] # [doc = " Structure must be initialized to zero before the first call to one of the"] # [doc = " attribute search functions. Initialize @mrec to point to the mft record to"] # [doc = " search, and @attr to point to the first attribute within @mrec (not necessary"] # [doc = " if calling the _first() functions), and set @is_first to TRUE (not necessary"] # [doc = " if calling the _first() functions)."] # [doc = ""] # [doc = " If @is_first is TRUE, the search begins with @attr. If @is_first is FALSE,"] # [doc = " the search begins after @attr. This is so that, after the first call to one"] # [doc = " of the search attribute functions, we can call the function again, without"] # [doc = " any modification of the search context, to automagically get the next"] # [doc = " matching attribute."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _ntfs_attr_search_ctx { pub mrec : * mut MFT_RECORD , pub attr : * mut ATTR_RECORD , pub is_first : BOOL , pub ntfs_ino : * mut ntfs_inode , pub al_entry : * mut ATTR_LIST_ENTRY , pub base_ntfs_ino : * mut ntfs_inode , pub base_mrec : * mut MFT_RECORD , pub base_attr : * mut ATTR_RECORD , } # [test] fn bindgen_test_layout__ntfs_attr_search_ctx () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_attr_search_ctx > () , 64usize , concat ! ("Size of: " , stringify ! (_ntfs_attr_search_ctx))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_attr_search_ctx > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_attr_search_ctx))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . mrec as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (mrec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . attr as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (attr))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . is_first as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (is_first))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . ntfs_ino as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (ntfs_ino))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . al_entry as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (al_entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . base_ntfs_ino as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (base_ntfs_ino))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . base_mrec as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (base_mrec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr_search_ctx > ())) . base_attr as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr_search_ctx) , "::" , stringify ! (base_attr))) ; } extern "C" { pub fn ntfs_attr_reinit_search_ctx (ctx : * mut ntfs_attr_search_ctx) ; } extern "C" { pub fn ntfs_attr_get_search_ctx (ni : * mut ntfs_inode , mrec : * mut MFT_RECORD) -> * mut ntfs_attr_search_ctx ; } extern "C" { pub fn ntfs_attr_put_search_ctx (ctx : * mut ntfs_attr_search_ctx) ; } extern "C" { pub fn ntfs_attr_lookup (type_ : ATTR_TYPES , name : * const ntfschar , name_len : ntfs_u32 , ic : IGNORE_CASE_BOOL , lowest_vcn : VCN , val : * const ntfs_u8 , val_len : ntfs_u32 , ctx : * mut ntfs_attr_search_ctx) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_position (type_ : ATTR_TYPES , ctx : * mut ntfs_attr_search_ctx) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_find_in_attrdef (vol : * const ntfs_volume , type_ : ATTR_TYPES) -> * mut ATTR_DEF ; } # [doc = " struct ntfs_attr - ntfs in memory non-resident attribute structure"] # [doc = " @rl:\t\t\tif not NULL, the decompressed runlist"] # [doc = " @ni:\t\t\tbase ntfs inode to which this attribute belongs"] # [doc = " @type:\t\tattribute type"] # [doc = " @name:\t\tUnicode name of the attribute"] # [doc = " @name_len:\t\tlength of @name in Unicode characters"] # [doc = " @state:\t\tNTFS attribute specific flags describing this attribute"] # [doc = " @allocated_size:\tcopy from the attribute record"] # [doc = " @data_size:\t\tcopy from the attribute record"] # [doc = " @initialized_size:\tcopy from the attribute record"] # [doc = " @compressed_size:\tcopy from the attribute record"] # [doc = " @compression_block_size:\t\tsize of a compression block (cb)"] # [doc = " @compression_block_size_bits:\tlog2 of the size of a cb"] # [doc = " @compression_block_clusters:\t\tnumber of clusters per cb"] # [doc = ""] # [doc = " This structure exists purely to provide a mechanism of caching the runlist"] # [doc = " of an attribute. If you want to operate on a particular attribute extent,"] # [doc = " you should not be using this structure at all. If you want to work with a"] # [doc = " resident attribute, you should not be using this structure at all. As a"] # [doc = " fail-safe check make sure to test NAttrNonResident() and if it is false, you"] # [doc = " know you shouldn't be using this structure."] # [doc = ""] # [doc = " If you want to work on a resident attribute or on a specific attribute"] # [doc = " extent, you should use ntfs_lookup_attr() to retrieve the attribute (extent)"] # [doc = " record, edit that, and then write back the mft record (or set the"] # [doc = " corresponding ntfs inode dirty for delayed write back)."] # [doc = ""] # [doc = " @rl is the decompressed runlist of the attribute described by this"] # [doc = " structure. Obviously this only makes sense if the attribute is not resident,"] # [doc = " i.e. NAttrNonResident() is true. If the runlist hasn't been decompressed yet"] # [doc = " @rl is NULL, so be prepared to cope with @rl == NULL."] # [doc = ""] # [doc = " @ni is the base ntfs inode of the attribute described by this structure."] # [doc = ""] # [doc = " @type is the attribute type (see layout.h for the definition of ATTR_TYPES),"] # [doc = " @name and @name_len are the little endian Unicode name and the name length"] # [doc = " in Unicode characters of the attribute, respectively."] # [doc = ""] # [doc = " @state contains NTFS attribute specific flags describing this attribute"] # [doc = " structure. See ntfs_attr_state_bits above."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct _ntfs_attr { pub rl : * mut runlist_element , pub ni : * mut ntfs_inode , pub type_ : ATTR_TYPES , pub data_flags : ATTR_FLAGS , pub name : * mut ntfschar , pub name_len : ntfs_u32 , pub state : :: std :: os :: raw :: c_ulong , pub allocated_size : s64 , pub data_size : s64 , pub initialized_size : s64 , pub compressed_size : s64 , pub compression_block_size : ntfs_u32 , pub compression_block_size_bits : ntfs_u8 , pub compression_block_clusters : ntfs_u8 , pub unused_runs : s8 , } # [test] fn bindgen_test_layout__ntfs_attr () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_attr > () , 88usize , concat ! ("Size of: " , stringify ! (_ntfs_attr))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_attr > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_attr))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . rl as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (rl))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . ni as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . type_ as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (type_))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . data_flags as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (data_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . name as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . name_len as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (name_len))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . state as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . allocated_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . data_size as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . initialized_size as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (initialized_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . compressed_size as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (compressed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . compression_block_size as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (compression_block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . compression_block_size_bits as * const _ as usize } , 84usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (compression_block_size_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . compression_block_clusters as * const _ as usize } , 85usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (compression_block_clusters))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_attr > ())) . unused_runs as * const _ as usize } , 86usize , concat ! ("Offset of field: " , stringify ! (_ntfs_attr) , "::" , stringify ! (unused_runs))) ; } pub const ntfs_attr_state_bits_NA_Initialized : ntfs_attr_state_bits = 0 ; pub const ntfs_attr_state_bits_NA_NonResident : ntfs_attr_state_bits = 1 ; pub const ntfs_attr_state_bits_NA_BeingNonResident : ntfs_attr_state_bits = 2 ; pub const ntfs_attr_state_bits_NA_FullyMapped : ntfs_attr_state_bits = 3 ; pub const ntfs_attr_state_bits_NA_DataAppending : ntfs_attr_state_bits = 4 ; pub const ntfs_attr_state_bits_NA_ComprClosing : ntfs_attr_state_bits = 5 ; pub const ntfs_attr_state_bits_NA_RunlistDirty : ntfs_attr_state_bits = 6 ; # [doc = " enum ntfs_attr_state_bits - bits for the state field in the ntfs_attr"] # [doc = " structure"] pub type ntfs_attr_state_bits = u32 ; extern "C" { pub fn NAttrCompressed (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn NAttrSetCompressed (na : * mut ntfs_attr) ; } extern "C" { pub fn NAttrClearCompressed (na : * mut ntfs_attr) ; } extern "C" { pub fn NAttrEncrypted (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn NAttrSetEncrypted (na : * mut ntfs_attr) ; } extern "C" { pub fn NAttrClearEncrypted (na : * mut ntfs_attr) ; } extern "C" { pub fn NAttrSparse (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn NAttrSetSparse (na : * mut ntfs_attr) ; } extern "C" { pub fn NAttrClearSparse (na : * mut ntfs_attr) ; } # [doc = " union attr_val - Union of all known attribute values"] # [doc = ""] # [doc = " For convenience. Used in the attr structure."] # [repr (C)] pub struct attr_val { pub _default : __BindgenUnionField < ntfs_u8 > , pub std_inf : __BindgenUnionField < STANDARD_INFORMATION > , pub al_entry : __BindgenUnionField < ATTR_LIST_ENTRY > , pub filename : __BindgenUnionField < FILE_NAME_ATTR > , pub obj_id : __BindgenUnionField < OBJECT_ID_ATTR > , pub sec_desc : __BindgenUnionField < SECURITY_DESCRIPTOR_ATTR > , pub vol_name : __BindgenUnionField < VOLUME_NAME > , pub vol_inf : __BindgenUnionField < VOLUME_INFORMATION > , pub data : __BindgenUnionField < DATA_ATTR > , pub index_root : __BindgenUnionField < INDEX_ROOT > , pub index_blk : __BindgenUnionField < INDEX_BLOCK > , pub bmp : __BindgenUnionField < BITMAP_ATTR > , pub reparse : __BindgenUnionField < REPARSE_POINT > , pub ea_inf : __BindgenUnionField < EA_INFORMATION > , pub ea : __BindgenUnionField < EA_ATTR > , pub property_set : __BindgenUnionField < PROPERTY_SET > , pub logged_util_stream : __BindgenUnionField < LOGGED_UTILITY_STREAM > , pub efs : __BindgenUnionField < EFS_ATTR_HEADER > , pub bindgen_union_field : [u8 ; 76usize] , } # [test] fn bindgen_test_layout_attr_val () { assert_eq ! (:: std :: mem :: size_of :: < attr_val > () , 76usize , concat ! ("Size of: " , stringify ! (attr_val))) ; assert_eq ! (:: std :: mem :: align_of :: < attr_val > () , 1usize , concat ! ("Alignment of " , stringify ! (attr_val))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . _default as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (_default))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . std_inf as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (std_inf))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . al_entry as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (al_entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . filename as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (filename))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . obj_id as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (obj_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . sec_desc as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (sec_desc))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . vol_name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (vol_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . vol_inf as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (vol_inf))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . data as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . index_root as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (index_root))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . index_blk as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (index_blk))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . bmp as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (bmp))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . reparse as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (reparse))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . ea_inf as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (ea_inf))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . ea as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (ea))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . property_set as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (property_set))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . logged_util_stream as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (logged_util_stream))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < attr_val > ())) . efs as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (attr_val) , "::" , stringify ! (efs))) ; } extern "C" { pub fn ntfs_attr_init (na : * mut ntfs_attr , non_resident : BOOL , data_flags : ATTR_FLAGS , encrypted : BOOL , sparse : BOOL , allocated_size : s64 , data_size : s64 , initialized_size : s64 , compressed_size : s64 , compression_unit : ntfs_u8) ; } extern "C" { pub fn ntfs_attr_open (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * mut ntfschar , name_len : ntfs_u32) -> * mut ntfs_attr ; } extern "C" { pub fn ntfs_attr_close (na : * mut ntfs_attr) ; } extern "C" { pub fn ntfs_attr_pread (na : * mut ntfs_attr , pos : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_attr_pwrite (na : * mut ntfs_attr , pos : s64 , count : s64 , b : * const :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_attr_pclose (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_readall (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * mut ntfschar , name_len : ntfs_u32 , data_size : * mut s64) -> * mut :: std :: os :: raw :: c_void ; } extern "C" { pub fn ntfs_attr_mst_pread (na : * mut ntfs_attr , pos : s64 , bk_cnt : s64 , bk_size : ntfs_u32 , dst : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_attr_mst_pwrite (na : * mut ntfs_attr , pos : s64 , bk_cnt : s64 , bk_size : ntfs_u32 , src : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_attr_map_runlist (na : * mut ntfs_attr , vcn : VCN) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_map_whole_runlist (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_vcn_to_lcn (na : * mut ntfs_attr , vcn : VCN) -> LCN ; } extern "C" { pub fn ntfs_attr_find_vcn (na : * mut ntfs_attr , vcn : VCN) -> * mut runlist_element ; } extern "C" { pub fn ntfs_attr_size_bounds_check (vol : * const ntfs_volume , type_ : ATTR_TYPES , size : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_can_be_resident (vol : * const ntfs_volume , type_ : ATTR_TYPES) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_make_non_resident (na : * mut ntfs_attr , ctx : * mut ntfs_attr_search_ctx) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_force_non_resident (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_make_room_for_attr (m : * mut MFT_RECORD , pos : * mut ntfs_u8 , size : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_resident_attr_record_add (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * const ntfschar , name_len : ntfs_u8 , val : * const ntfs_u8 , size : ntfs_u32 , flags : ATTR_FLAGS) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_non_resident_attr_record_add (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * const ntfschar , name_len : ntfs_u8 , lowest_vcn : VCN , dataruns_size : :: std :: os :: raw :: c_int , flags : ATTR_FLAGS) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_record_rm (ctx : * mut ntfs_attr_search_ctx) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_add (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * mut ntfschar , name_len : ntfs_u8 , val : * const ntfs_u8 , size : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_set_flags (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * const ntfschar , name_len : ntfs_u8 , flags : ATTR_FLAGS , mask : ATTR_FLAGS) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_rm (na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_record_resize (m : * mut MFT_RECORD , a : * mut ATTR_RECORD , new_size : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_resident_attr_value_resize (m : * mut MFT_RECORD , a : * mut ATTR_RECORD , new_size : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_record_move_to (ctx : * mut ntfs_attr_search_ctx , ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_record_move_away (ctx : * mut ntfs_attr_search_ctx , extra : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_update_mapping_pairs (na : * mut ntfs_attr , from_vcn : VCN) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_truncate (na : * mut ntfs_attr , newsize : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_truncate_solid (na : * mut ntfs_attr , newsize : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { # [doc = " get_attribute_value_length - return the length of the value of an attribute"] # [doc = " @a:\tpointer to a buffer containing the attribute record"] # [doc = ""] # [doc = " Return the byte size of the attribute value of the attribute @a (as it"] # [doc = " would be after eventual decompression and filling in of holes if sparse)."] # [doc = " If we return 0, check errno. If errno is 0 the actual length was 0,"] # [doc = " otherwise errno describes the error."] # [doc = ""] # [doc = " FIXME: Describe possible errnos."] pub fn ntfs_get_attribute_value_length (a : * const ATTR_RECORD) -> s64 ; } extern "C" { # [doc = " get_attribute_value - return the attribute value of an attribute"] # [doc = " @vol:\tvolume on which the attribute is present"] # [doc = " @a:\t\tattribute to get the value of"] # [doc = " @b:\t\tdestination buffer for the attribute value"] # [doc = ""] # [doc = " Make a copy of the attribute value of the attribute @a into the destination"] # [doc = " buffer @b. Note, that the size of @b has to be at least equal to the value"] # [doc = " returned by get_attribute_value_length(@a)."] # [doc = ""] # [doc = " Return number of bytes copied. If this is zero check errno. If errno is 0"] # [doc = " then nothing was read due to a zero-length attribute value, otherwise"] # [doc = " errno describes the error."] pub fn ntfs_get_attribute_value (vol : * const ntfs_volume , a : * const ATTR_RECORD , b : * mut ntfs_u8) -> s64 ; } extern "C" { pub fn ntfs_attr_name_free (name : * mut * mut :: std :: os :: raw :: c_char) ; } extern "C" { pub fn ntfs_attr_name_get (uname : * const ntfschar , uname_len : :: std :: os :: raw :: c_int) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_attr_exist (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * const ntfschar , name_len : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_remove (ni : * mut ntfs_inode , type_ : ATTR_TYPES , name : * mut ntfschar , name_len : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_get_free_bits (na : * mut ntfs_attr) -> s64 ; } extern "C" { pub fn ntfs_attr_data_read (ni : * mut ntfs_inode , stream_name : * mut ntfschar , stream_name_len : :: std :: os :: raw :: c_int , buf : * mut :: std :: os :: raw :: c_char , size : size_t , offset : off_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_data_write (ni : * mut ntfs_inode , stream_name : * mut ntfschar , stream_name_len : :: std :: os :: raw :: c_int , buf : * const :: std :: os :: raw :: c_char , size : size_t , offset : off_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_shrink_size (ni : * mut ntfs_inode , stream_name : * mut ntfschar , stream_name_len : :: std :: os :: raw :: c_int , offset : off_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_inconsistent (a : * const ATTR_RECORD , mref : MFT_REF) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_records_read (vol : * const ntfs_volume , mref : MFT_REF , count : s64 , b : * mut MFT_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_record_check (vol : * const ntfs_volume , mref : MFT_REF , m : * mut MFT_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_file_record_read (vol : * const ntfs_volume , mref : MFT_REF , mrec : * mut * mut MFT_RECORD , attr : * mut * mut ATTR_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_records_write (vol : * const ntfs_volume , mref : MFT_REF , count : s64 , b : * mut MFT_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_record_layout (vol : * const ntfs_volume , mref : MFT_REF , mrec : * mut MFT_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_record_format (vol : * const ntfs_volume , mref : MFT_REF) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_record_alloc (vol : * mut ntfs_volume , base_ni : * mut ntfs_inode) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_mft_rec_alloc (vol : * mut ntfs_volume , mft_data : BOOL) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_mft_record_free (vol : * mut ntfs_volume , ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mft_usn_dec (mrec : * mut MFT_RECORD) -> :: std :: os :: raw :: c_int ; } pub type COLLATE = :: std :: option :: Option < unsafe extern "C" fn (vol : * mut ntfs_volume , data1 : * const :: std :: os :: raw :: c_void , len1 : :: std :: os :: raw :: c_int , data2 : * const :: std :: os :: raw :: c_void , len2 : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int > ; # [doc = " struct ntfs_index_context -"] # [doc = " @ni:\t\t\tinode containing the @entry described by this context"] # [doc = " @name:\t\tname of the index described by this context"] # [doc = " @name_len:\t\tlength of the index name"] # [doc = " @entry:\t\tindex entry (points into @ir or @ia)"] # [doc = " @data:\t\tindex entry data (points into @entry)"] # [doc = " @data_len:\t\tlength in bytes of @data"] # [doc = " @is_in_root:\t\tTRUE if @entry is in @ir or FALSE if it is in @ia"] # [doc = " @ir:\t\t\tindex root if @is_in_root or NULL otherwise"] # [doc = " @actx:\t\tattribute search context if in root or NULL otherwise"] # [doc = " @ia:\t\t\tindex block if @is_in_root is FALSE or NULL otherwise"] # [doc = " @ia_na:\t\topened INDEX_ALLOCATION attribute"] # [doc = " @parent_pos:\t\tparent entries' positions in the index block"] # [doc = " @parent_vcn:\t\tentry's parent node or VCN_INDEX_ROOT_PARENT"] # [doc = " @new_vcn:            new VCN if we need to create a new index block"] # [doc = " @median:\t\tmove to the parent if splitting index blocks"] # [doc = " @ib_dirty:\t\tTRUE if index block was changed"] # [doc = " @block_size:\t\tindex block size"] # [doc = " @vcn_size_bits:\tVCN size bits for this index block"] # [doc = ""] # [doc = " @ni is the inode this context belongs to."] # [doc = ""] # [doc = " @entry is the index entry described by this context.  @data and @data_len"] # [doc = " are the index entry data and its length in bytes, respectively.  @data"] # [doc = " simply points into @entry.  This is probably what the user is interested in."] # [doc = ""] # [doc = " If @is_in_root is TRUE, @entry is in the index root attribute @ir described"] # [doc = " by the attribute search context @actx and inode @ni.  @ia and"] # [doc = " @ib_dirty are undefined in this case."] # [doc = ""] # [doc = " If @is_in_root is FALSE, @entry is in the index allocation attribute and @ia"] # [doc = " point to the index allocation block and VCN where it's placed,"] # [doc = " respectively. @ir and @actx are NULL in this case. @ia_na is opened"] # [doc = " INDEX_ALLOCATION attribute. @ib_dirty is TRUE if index block was changed and"] # [doc = " FALSE otherwise."] # [doc = ""] # [doc = " To obtain a context call ntfs_index_ctx_get()."] # [doc = ""] # [doc = " When finished with the @entry and its @data, call ntfs_index_ctx_put() to"] # [doc = " free the context and other associated resources."] # [doc = ""] # [doc = " If the index entry was modified, call ntfs_index_entry_mark_dirty() before"] # [doc = " the call to ntfs_index_ctx_put() to ensure that the changes are written"] # [doc = " to disk."] # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct ntfs_index_context { pub ni : * mut ntfs_inode , pub name : * mut ntfschar , pub name_len : ntfs_u32 , pub entry : * mut INDEX_ENTRY , pub data : * mut :: std :: os :: raw :: c_void , pub data_len : ntfs_u16 , pub collate : COLLATE , pub is_in_root : BOOL , pub ir : * mut INDEX_ROOT , pub actx : * mut ntfs_attr_search_ctx , pub ib : * mut INDEX_BLOCK , pub ia_na : * mut ntfs_attr , pub parent_pos : [:: std :: os :: raw :: c_int ; 32usize] , pub parent_vcn : [VCN ; 32usize] , pub pindex : :: std :: os :: raw :: c_int , pub ib_dirty : BOOL , pub bad_index : BOOL , pub block_size : ntfs_u32 , pub vcn_size_bits : ntfs_u8 , } # [test] fn bindgen_test_layout_ntfs_index_context () { assert_eq ! (:: std :: mem :: size_of :: < ntfs_index_context > () , 504usize , concat ! ("Size of: " , stringify ! (ntfs_index_context))) ; assert_eq ! (:: std :: mem :: align_of :: < ntfs_index_context > () , 8usize , concat ! ("Alignment of " , stringify ! (ntfs_index_context))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . ni as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . name as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . name_len as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (name_len))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . entry as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . data as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (data))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . data_len as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (data_len))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . collate as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (collate))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . is_in_root as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (is_in_root))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . ir as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (ir))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . actx as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (actx))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . ib as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (ib))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . ia_na as * const _ as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (ia_na))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . parent_pos as * const _ as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (parent_pos))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . parent_vcn as * const _ as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (parent_vcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . pindex as * const _ as usize } , 480usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (pindex))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . ib_dirty as * const _ as usize } , 484usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (ib_dirty))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . bad_index as * const _ as usize } , 488usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (bad_index))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . block_size as * const _ as usize } , 492usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (block_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < ntfs_index_context > ())) . vcn_size_bits as * const _ as usize } , 496usize , concat ! ("Offset of field: " , stringify ! (ntfs_index_context) , "::" , stringify ! (vcn_size_bits))) ; } extern "C" { pub fn ntfs_index_ctx_get (ni : * mut ntfs_inode , name : * mut ntfschar , name_len : ntfs_u32) -> * mut ntfs_index_context ; } extern "C" { pub fn ntfs_index_ctx_put (ictx : * mut ntfs_index_context) ; } extern "C" { pub fn ntfs_index_ctx_reinit (ictx : * mut ntfs_index_context) ; } extern "C" { pub fn ntfs_index_block_inconsistent (ib : * const INDEX_BLOCK , block_size : ntfs_u32 , inum : ntfs_u64 , vcn : VCN) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_entry_inconsistent (ie : * const INDEX_ENTRY , collation_rule : COLLATION_RULES , inum : ntfs_u64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_lookup (key : * const :: std :: os :: raw :: c_void , key_len : :: std :: os :: raw :: c_int , ictx : * mut ntfs_index_context) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_next (ie : * mut INDEX_ENTRY , ictx : * mut ntfs_index_context) -> * mut INDEX_ENTRY ; } extern "C" { pub fn ntfs_index_add_filename (ni : * mut ntfs_inode , fn_ : * mut FILE_NAME_ATTR , mref : MFT_REF) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_remove (dir_ni : * mut ntfs_inode , ni : * mut ntfs_inode , key : * const :: std :: os :: raw :: c_void , keylen : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_root_get (ni : * mut ntfs_inode , attr : * mut ATTR_RECORD) -> * mut INDEX_ROOT ; } extern "C" { pub fn ntfs_ie_get_vcn (ie : * mut INDEX_ENTRY) -> VCN ; } extern "C" { pub fn ntfs_index_entry_mark_dirty (ictx : * mut ntfs_index_context) ; } extern "C" { pub fn ntfs_ie_filename_get (ie : * mut INDEX_ENTRY) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_ie_filename_dump (ie : * mut INDEX_ENTRY) ; } extern "C" { pub fn ntfs_ih_filename_dump (ih : * mut INDEX_HEADER) ; } extern "C" { pub fn ntfs_ie_add (icx : * mut ntfs_index_context , ie : * mut INDEX_ENTRY) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_index_rm (icx : * mut ntfs_index_context) -> :: std :: os :: raw :: c_int ; } pub const NTFS_MNT_NONE : _bindgen_ty_2 = 0 ; pub const NTFS_MNT_RDONLY : _bindgen_ty_2 = 1 ; pub const NTFS_MNT_MAY_RDONLY : _bindgen_ty_2 = 33554432 ; pub const NTFS_MNT_FORENSIC : _bindgen_ty_2 = 67108864 ; pub const NTFS_MNT_EXCLUSIVE : _bindgen_ty_2 = 134217728 ; pub const NTFS_MNT_RECOVER : _bindgen_ty_2 = 268435456 ; pub const NTFS_MNT_IGNORE_HIBERFILE : _bindgen_ty_2 = 536870912 ; # [doc = " enum ntfs_mount_flags -"] # [doc = ""] # [doc = " Flags for the ntfs_mount() function."] pub type _bindgen_ty_2 = u32 ; pub type ntfs_mount_flags = :: std :: os :: raw :: c_ulong ; pub const ntfs_mounted_flags_NTFS_MF_MOUNTED : ntfs_mounted_flags = 1 ; pub const ntfs_mounted_flags_NTFS_MF_ISROOT : ntfs_mounted_flags = 2 ; pub const ntfs_mounted_flags_NTFS_MF_READONLY : ntfs_mounted_flags = 4 ; # [doc = " enum ntfs_mounted_flags -"] # [doc = ""] # [doc = " Flags returned by the ntfs_check_if_mounted() function."] pub type ntfs_mounted_flags = u32 ; extern "C" { pub fn ntfs_check_if_mounted (file : * const :: std :: os :: raw :: c_char , mnt_flags : * mut :: std :: os :: raw :: c_ulong) -> :: std :: os :: raw :: c_int ; } pub const ntfs_volume_status_NTFS_VOLUME_OK : ntfs_volume_status = 0 ; pub const ntfs_volume_status_NTFS_VOLUME_SYNTAX_ERROR : ntfs_volume_status = 11 ; pub const ntfs_volume_status_NTFS_VOLUME_NOT_NTFS : ntfs_volume_status = 12 ; pub const ntfs_volume_status_NTFS_VOLUME_CORRUPT : ntfs_volume_status = 13 ; pub const ntfs_volume_status_NTFS_VOLUME_HIBERNATED : ntfs_volume_status = 14 ; pub const ntfs_volume_status_NTFS_VOLUME_UNCLEAN_UNMOUNT : ntfs_volume_status = 15 ; pub const ntfs_volume_status_NTFS_VOLUME_LOCKED : ntfs_volume_status = 16 ; pub const ntfs_volume_status_NTFS_VOLUME_RAID : ntfs_volume_status = 17 ; pub const ntfs_volume_status_NTFS_VOLUME_UNKNOWN_REASON : ntfs_volume_status = 18 ; pub const ntfs_volume_status_NTFS_VOLUME_NO_PRIVILEGE : ntfs_volume_status = 19 ; pub const ntfs_volume_status_NTFS_VOLUME_OUT_OF_MEMORY : ntfs_volume_status = 20 ; pub const ntfs_volume_status_NTFS_VOLUME_FUSE_ERROR : ntfs_volume_status = 21 ; pub const ntfs_volume_status_NTFS_VOLUME_INSECURE : ntfs_volume_status = 22 ; pub type ntfs_volume_status = u32 ; pub const ntfs_volume_special_files_NTFS_FILES_INTERIX : ntfs_volume_special_files = 0 ; pub const ntfs_volume_special_files_NTFS_FILES_WSL : ntfs_volume_special_files = 1 ; pub type ntfs_volume_special_files = u32 ; pub const ntfs_volume_state_bits_NV_ReadOnly : ntfs_volume_state_bits = 0 ; pub const ntfs_volume_state_bits_NV_CaseSensitive : ntfs_volume_state_bits = 1 ; pub const ntfs_volume_state_bits_NV_LogFileEmpty : ntfs_volume_state_bits = 2 ; pub const ntfs_volume_state_bits_NV_ShowSysFiles : ntfs_volume_state_bits = 3 ; pub const ntfs_volume_state_bits_NV_ShowHidFiles : ntfs_volume_state_bits = 4 ; pub const ntfs_volume_state_bits_NV_HideDotFiles : ntfs_volume_state_bits = 5 ; pub const ntfs_volume_state_bits_NV_Compression : ntfs_volume_state_bits = 6 ; pub const ntfs_volume_state_bits_NV_NoFixupWarn : ntfs_volume_state_bits = 7 ; pub const ntfs_volume_state_bits_NV_FreeSpaceKnown : ntfs_volume_state_bits = 8 ; # [doc = " enum ntfs_volume_state_bits -"] # [doc = ""] # [doc = " Defined bits for the state field in the ntfs_volume structure."] pub type ntfs_volume_state_bits = u32 ; # [doc = " struct _ntfs_volume - structure describing an open volume in memory."] # [repr (C)] # [derive (Copy , Clone)] pub struct _ntfs_volume { pub __bindgen_anon_1 : _ntfs_volume__bindgen_ty_1 , pub vol_name : * mut :: std :: os :: raw :: c_char , pub state : :: std :: os :: raw :: c_ulong , pub vol_ni : * mut ntfs_inode , pub major_ver : ntfs_u8 , pub minor_ver : ntfs_u8 , pub flags : le16 , pub sector_size : ntfs_u16 , pub sector_size_bits : ntfs_u8 , pub cluster_size : ntfs_u32 , pub mft_record_size : ntfs_u32 , pub indx_record_size : ntfs_u32 , pub cluster_size_bits : ntfs_u8 , pub mft_record_size_bits : ntfs_u8 , pub indx_record_size_bits : ntfs_u8 , pub mft_zone_multiplier : ntfs_u8 , pub full_zones : ntfs_u8 , pub mft_data_pos : s64 , pub mft_zone_start : LCN , pub mft_zone_end : LCN , pub mft_zone_pos : LCN , pub data1_zone_pos : LCN , pub data2_zone_pos : LCN , pub nr_clusters : s64 , pub lcnbmp_ni : * mut ntfs_inode , pub lcnbmp_na : * mut ntfs_attr , pub mft_lcn : LCN , pub mft_ni : * mut ntfs_inode , pub mft_na : * mut ntfs_attr , pub mftbmp_na : * mut ntfs_attr , pub secure_ni : * mut ntfs_inode , pub secure_xsii : * mut ntfs_index_context , pub secure_xsdh : * mut ntfs_index_context , pub secure_reentry : :: std :: os :: raw :: c_int , pub secure_flags : :: std :: os :: raw :: c_uint , pub mftmirr_size : :: std :: os :: raw :: c_int , pub mftmirr_lcn : LCN , pub mftmirr_ni : * mut ntfs_inode , pub mftmirr_na : * mut ntfs_attr , pub upcase : * mut ntfschar , pub upcase_len : ntfs_u32 , pub locase : * mut ntfschar , pub attrdef : * mut ATTR_DEF , pub attrdef_len : s32 , pub free_clusters : s64 , pub free_mft_records : s64 , pub efs_raw : BOOL , pub special_files : ntfs_volume_special_files , pub abs_mnt_point : * const :: std :: os :: raw :: c_char , pub xinode_cache : * mut CACHE_HEADER , pub nidata_cache : * mut CACHE_HEADER , pub lookup_cache : * mut CACHE_HEADER , pub securid_cache : * mut CACHE_HEADER , pub legacy_cache : * mut CACHE_HEADER , } # [repr (C)] # [derive (Copy , Clone)] pub union _ntfs_volume__bindgen_ty_1 { pub dev : * mut ntfs_device , pub sb : * mut :: std :: os :: raw :: c_void , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout__ntfs_volume__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_volume__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (_ntfs_volume__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_volume__bindgen_ty_1 > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_volume__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume__bindgen_ty_1 > ())) . dev as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume__bindgen_ty_1) , "::" , stringify ! (dev))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume__bindgen_ty_1 > ())) . sb as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume__bindgen_ty_1) , "::" , stringify ! (sb))) ; } # [test] fn bindgen_test_layout__ntfs_volume () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_volume > () , 344usize , concat ! ("Size of: " , stringify ! (_ntfs_volume))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_volume > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_volume))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . vol_name as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (vol_name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . state as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . vol_ni as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (vol_ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . major_ver as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . minor_ver as * const _ as usize } , 33usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . flags as * const _ as usize } , 34usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . sector_size as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (sector_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . sector_size_bits as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (sector_size_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . cluster_size as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (cluster_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_record_size as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_record_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . indx_record_size as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (indx_record_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . cluster_size_bits as * const _ as usize } , 52usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (cluster_size_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_record_size_bits as * const _ as usize } , 53usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_record_size_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . indx_record_size_bits as * const _ as usize } , 54usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (indx_record_size_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_zone_multiplier as * const _ as usize } , 55usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_zone_multiplier))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . full_zones as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (full_zones))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_data_pos as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_data_pos))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_zone_start as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_zone_start))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_zone_end as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_zone_end))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_zone_pos as * const _ as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_zone_pos))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . data1_zone_pos as * const _ as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (data1_zone_pos))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . data2_zone_pos as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (data2_zone_pos))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . nr_clusters as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (nr_clusters))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . lcnbmp_ni as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (lcnbmp_ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . lcnbmp_na as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (lcnbmp_na))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_lcn as * const _ as usize } , 136usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_ni as * const _ as usize } , 144usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mft_na as * const _ as usize } , 152usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mft_na))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mftbmp_na as * const _ as usize } , 160usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mftbmp_na))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . secure_ni as * const _ as usize } , 168usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (secure_ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . secure_xsii as * const _ as usize } , 176usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (secure_xsii))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . secure_xsdh as * const _ as usize } , 184usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (secure_xsdh))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . secure_reentry as * const _ as usize } , 192usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (secure_reentry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . secure_flags as * const _ as usize } , 196usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (secure_flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mftmirr_size as * const _ as usize } , 200usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mftmirr_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mftmirr_lcn as * const _ as usize } , 208usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mftmirr_lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mftmirr_ni as * const _ as usize } , 216usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mftmirr_ni))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . mftmirr_na as * const _ as usize } , 224usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (mftmirr_na))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . upcase as * const _ as usize } , 232usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (upcase))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . upcase_len as * const _ as usize } , 240usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (upcase_len))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . locase as * const _ as usize } , 248usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (locase))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . attrdef as * const _ as usize } , 256usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (attrdef))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . attrdef_len as * const _ as usize } , 264usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (attrdef_len))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . free_clusters as * const _ as usize } , 272usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (free_clusters))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . free_mft_records as * const _ as usize } , 280usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (free_mft_records))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . efs_raw as * const _ as usize } , 288usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (efs_raw))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . special_files as * const _ as usize } , 292usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (special_files))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . abs_mnt_point as * const _ as usize } , 296usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (abs_mnt_point))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . xinode_cache as * const _ as usize } , 304usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (xinode_cache))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . nidata_cache as * const _ as usize } , 312usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (nidata_cache))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . lookup_cache as * const _ as usize } , 320usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (lookup_cache))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . securid_cache as * const _ as usize } , 328usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (securid_cache))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_volume > ())) . legacy_cache as * const _ as usize } , 336usize , concat ! ("Offset of field: " , stringify ! (_ntfs_volume) , "::" , stringify ! (legacy_cache))) ; } extern "C" { pub static mut ntfs_home : * const :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_volume_alloc () -> * mut ntfs_volume ; } extern "C" { pub fn ntfs_volume_startup (dev : * mut ntfs_device , flags : ntfs_mount_flags) -> * mut ntfs_volume ; } extern "C" { pub fn ntfs_device_mount (dev : * mut ntfs_device , flags : ntfs_mount_flags) -> * mut ntfs_volume ; } extern "C" { pub fn ntfs_mount (name : * const :: std :: os :: raw :: c_char , flags : ntfs_mount_flags) -> * mut ntfs_volume ; } extern "C" { pub fn ntfs_umount (vol : * mut ntfs_volume , force : BOOL) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_version_is_supported (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_volume_check_hiberfile (vol : * mut ntfs_volume , verbose : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_logfile_reset (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_volume_write_flags (vol : * mut ntfs_volume , flags : le16) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_volume_error (err : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_mount_error (vol : * const :: std :: os :: raw :: c_char , mntpoint : * const :: std :: os :: raw :: c_char , err : :: std :: os :: raw :: c_int) ; } extern "C" { pub fn ntfs_volume_get_free_space (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_volume_rename (vol : * mut ntfs_volume , label : * const ntfschar , label_len : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_shown_files (vol : * mut ntfs_volume , show_sys_files : BOOL , show_hid_files : BOOL , hide_dot_files : BOOL) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_locale () -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ignore_case (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } pub type ntfs_time = sle64 ; pub const ntfs_inode_state_bits_NI_Dirty : ntfs_inode_state_bits = 0 ; pub const ntfs_inode_state_bits_NI_AttrList : ntfs_inode_state_bits = 1 ; pub const ntfs_inode_state_bits_NI_AttrListDirty : ntfs_inode_state_bits = 2 ; pub const ntfs_inode_state_bits_NI_FileNameDirty : ntfs_inode_state_bits = 3 ; pub const ntfs_inode_state_bits_NI_v3_Extensions : ntfs_inode_state_bits = 4 ; pub const ntfs_inode_state_bits_NI_TimesSet : ntfs_inode_state_bits = 5 ; pub const ntfs_inode_state_bits_NI_KnownSize : ntfs_inode_state_bits = 6 ; # [doc = " enum ntfs_inode_state_bits -"] # [doc = ""] # [doc = " Defined bits for the state field in the ntfs_inode structure."] # [doc = " (f) = files only, (d) = directories only"] pub type ntfs_inode_state_bits = u32 ; # [doc = " struct _ntfs_inode - The NTFS in-memory inode structure."] # [doc = ""] # [doc = " It is just used as an extension to the fields already provided in the VFS"] # [doc = " inode."] # [repr (C)] # [derive (Copy , Clone)] pub struct _ntfs_inode { pub mft_no : ntfs_u64 , pub mrec : * mut MFT_RECORD , pub vol : * mut ntfs_volume , pub state : :: std :: os :: raw :: c_ulong , pub flags : FILE_ATTR_FLAGS , pub attr_list_size : ntfs_u32 , pub attr_list : * mut ntfs_u8 , pub nr_extents : s32 , pub __bindgen_anon_1 : _ntfs_inode__bindgen_ty_1 , pub data_size : s64 , pub allocated_size : s64 , pub creation_time : ntfs_time , pub last_data_change_time : ntfs_time , pub last_mft_change_time : ntfs_time , pub last_access_time : ntfs_time , pub owner_id : le32 , pub security_id : le32 , pub quota_charged : le64 , pub usn : le64 , } # [repr (C)] # [derive (Copy , Clone)] pub union _ntfs_inode__bindgen_ty_1 { pub extent_nis : * mut * mut ntfs_inode , pub base_ni : * mut ntfs_inode , _bindgen_union_align : u64 , } # [test] fn bindgen_test_layout__ntfs_inode__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_inode__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (_ntfs_inode__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_inode__bindgen_ty_1 > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_inode__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode__bindgen_ty_1 > ())) . extent_nis as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode__bindgen_ty_1) , "::" , stringify ! (extent_nis))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode__bindgen_ty_1 > ())) . base_ni as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode__bindgen_ty_1) , "::" , stringify ! (base_ni))) ; } # [test] fn bindgen_test_layout__ntfs_inode () { assert_eq ! (:: std :: mem :: size_of :: < _ntfs_inode > () , 136usize , concat ! ("Size of: " , stringify ! (_ntfs_inode))) ; assert_eq ! (:: std :: mem :: align_of :: < _ntfs_inode > () , 8usize , concat ! ("Alignment of " , stringify ! (_ntfs_inode))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . mft_no as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (mft_no))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . mrec as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (mrec))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . vol as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (vol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . state as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (state))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . flags as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . attr_list_size as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (attr_list_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . attr_list as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (attr_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . nr_extents as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (nr_extents))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . data_size as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (data_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . allocated_size as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (allocated_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . creation_time as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (creation_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . last_data_change_time as * const _ as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (last_data_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . last_mft_change_time as * const _ as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (last_mft_change_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . last_access_time as * const _ as usize } , 104usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (last_access_time))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . owner_id as * const _ as usize } , 112usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (owner_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . security_id as * const _ as usize } , 116usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (security_id))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . quota_charged as * const _ as usize } , 120usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (quota_charged))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < _ntfs_inode > ())) . usn as * const _ as usize } , 128usize , concat ! ("Offset of field: " , stringify ! (_ntfs_inode) , "::" , stringify ! (usn))) ; } pub const ntfs_time_update_flags_NTFS_UPDATE_ATIME : ntfs_time_update_flags = 1 ; pub const ntfs_time_update_flags_NTFS_UPDATE_MTIME : ntfs_time_update_flags = 2 ; pub const ntfs_time_update_flags_NTFS_UPDATE_CTIME : ntfs_time_update_flags = 4 ; pub type ntfs_time_update_flags = u32 ; extern "C" { pub fn ntfs_inode_base (ni : * mut ntfs_inode) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_inode_allocate (vol : * mut ntfs_volume) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_inode_open (vol : * mut ntfs_volume , mref : MFT_REF) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_inode_close (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_close_in_dir (ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_real_close (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_invalidate (vol : * mut ntfs_volume , mref : MFT_REF) ; } extern "C" { pub fn ntfs_inode_nidata_free (cached : * const CACHED_GENERIC) ; } extern "C" { pub fn ntfs_inode_nidata_hash (item : * const CACHED_GENERIC) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_extent_inode_open (base_ni : * mut ntfs_inode , mref : leMFT_REF) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_inode_attach_all_extents (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_mark_dirty (ni : * mut ntfs_inode) ; } extern "C" { pub fn ntfs_inode_update_times (ni : * mut ntfs_inode , mask : ntfs_time_update_flags) ; } extern "C" { pub fn ntfs_inode_sync (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_add_attrlist (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_free_space (ni : * mut ntfs_inode , size : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_badclus_bad (mft_no : ntfs_u64 , a : * mut ATTR_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_get_times (ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inode_set_times (ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub static mut NTFS_INDEX_I30 : [ntfschar ; 5usize] ; } extern "C" { pub static mut NTFS_INDEX_SII : [ntfschar ; 5usize] ; } extern "C" { pub static mut NTFS_INDEX_SDH : [ntfschar ; 5usize] ; } extern "C" { pub static mut NTFS_INDEX_O : [ntfschar ; 3usize] ; } extern "C" { pub static mut NTFS_INDEX_Q : [ntfschar ; 3usize] ; } extern "C" { pub static mut NTFS_INDEX_R : [ntfschar ; 3usize] ; } extern "C" { pub fn ntfs_inode_lookup_by_name (dir_ni : * mut ntfs_inode , uname : * const ntfschar , uname_len : :: std :: os :: raw :: c_int) -> ntfs_u64 ; } extern "C" { pub fn ntfs_inode_lookup_by_mbsname (dir_ni : * mut ntfs_inode , name : * const :: std :: os :: raw :: c_char) -> ntfs_u64 ; } extern "C" { pub fn ntfs_inode_update_mbsname (dir_ni : * mut ntfs_inode , name : * const :: std :: os :: raw :: c_char , inum : ntfs_u64) ; } extern "C" { pub fn ntfs_pathname_to_inode (vol : * mut ntfs_volume , parent : * mut ntfs_inode , pathname : * const :: std :: os :: raw :: c_char) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_create (dir_ni : * mut ntfs_inode , securid : le32 , name : * const ntfschar , name_len : ntfs_u8 , type_ : mode_t) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_create_device (dir_ni : * mut ntfs_inode , securid : le32 , name : * const ntfschar , name_len : ntfs_u8 , type_ : mode_t , dev : dev_t) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_create_symlink (dir_ni : * mut ntfs_inode , securid : le32 , name : * const ntfschar , name_len : ntfs_u8 , target : * const ntfschar , target_len : :: std :: os :: raw :: c_int) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_check_empty_dir (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_delete (vol : * mut ntfs_volume , path : * const :: std :: os :: raw :: c_char , ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode , name : * const ntfschar , name_len : ntfs_u8) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_link (ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode , name : * const ntfschar , name_len : ntfs_u8) -> :: std :: os :: raw :: c_int ; } pub type ntfs_filldir_t = :: std :: option :: Option < unsafe extern "C" fn (dirent : * mut :: std :: os :: raw :: c_void , name : * const ntfschar , name_len : :: std :: os :: raw :: c_int , name_type : :: std :: os :: raw :: c_int , pos : s64 , mref : MFT_REF , dt_type : :: std :: os :: raw :: c_uint) -> :: std :: os :: raw :: c_int > ; extern "C" { pub fn ntfs_readdir (dir_ni : * mut ntfs_inode , pos : * mut s64 , dirent : * mut :: std :: os :: raw :: c_void , filldir : ntfs_filldir_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_dir_parent_inode (ni : * mut ntfs_inode) -> * mut ntfs_inode ; } extern "C" { pub fn ntfs_interix_types (ni : * mut ntfs_inode) -> ntfs_u32 ; } extern "C" { pub fn ntfs_get_ntfs_dos_name (ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ntfs_dos_name (ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_remove_ntfs_dos_name (ni : * mut ntfs_inode , dir_ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_dir_link_cnt (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_dir_inode_hash (cached : * const CACHED_GENERIC) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_dir_lookup_hash (cached : * const CACHED_GENERIC) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct MAPPING { pub next : * mut MAPPING , pub xid : :: std :: os :: raw :: c_int , pub sid : * mut SID , pub grcnt : :: std :: os :: raw :: c_int , pub groups : * mut gid_t , } # [test] fn bindgen_test_layout_MAPPING () { assert_eq ! (:: std :: mem :: size_of :: < MAPPING > () , 40usize , concat ! ("Size of: " , stringify ! (MAPPING))) ; assert_eq ! (:: std :: mem :: align_of :: < MAPPING > () , 8usize , concat ! ("Alignment of " , stringify ! (MAPPING))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPPING > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MAPPING) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPPING > ())) . xid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MAPPING) , "::" , stringify ! (xid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPPING > ())) . sid as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MAPPING) , "::" , stringify ! (sid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPPING > ())) . grcnt as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MAPPING) , "::" , stringify ! (grcnt))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPPING > ())) . groups as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MAPPING) , "::" , stringify ! (groups))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct CACHED_PERMISSIONS { pub uid : uid_t , pub gid : gid_t , pub inh_fileid : le32 , pub inh_dirid : le32 , pub _bitfield_1 : __BindgenBitfieldUnit < [u8 ; 2usize] , u16 > , pub __bindgen_padding_0 : u16 , } # [test] fn bindgen_test_layout_CACHED_PERMISSIONS () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_PERMISSIONS > () , 20usize , concat ! ("Size of: " , stringify ! (CACHED_PERMISSIONS))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_PERMISSIONS > () , 4usize , concat ! ("Alignment of " , stringify ! (CACHED_PERMISSIONS))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS > ())) . uid as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS) , "::" , stringify ! (uid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS > ())) . gid as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS) , "::" , stringify ! (gid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS > ())) . inh_fileid as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS) , "::" , stringify ! (inh_fileid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS > ())) . inh_dirid as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS) , "::" , stringify ! (inh_dirid))) ; } impl CACHED_PERMISSIONS { # [inline] pub fn mode (& self) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (0usize , 12u8) as u32) } } # [inline] pub fn set_mode (& mut self , val : :: std :: os :: raw :: c_uint) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (0usize , 12u8 , val as u64) } } # [inline] pub fn valid (& self) -> :: std :: os :: raw :: c_uint { unsafe { :: std :: mem :: transmute (self . _bitfield_1 . get (12usize , 1u8) as u32) } } # [inline] pub fn set_valid (& mut self , val : :: std :: os :: raw :: c_uint) { unsafe { let val : u32 = :: std :: mem :: transmute (val) ; self . _bitfield_1 . set (12usize , 1u8 , val as u64) } } # [inline] pub fn new_bitfield_1 (mode : :: std :: os :: raw :: c_uint , valid : :: std :: os :: raw :: c_uint) -> __BindgenBitfieldUnit < [u8 ; 2usize] , u16 > { let mut __bindgen_bitfield_unit : __BindgenBitfieldUnit < [u8 ; 2usize] , u16 > = Default :: default () ; __bindgen_bitfield_unit . set (0usize , 12u8 , { let mode : u32 = unsafe { :: std :: mem :: transmute (mode) } ; mode as u64 }) ; __bindgen_bitfield_unit . set (12usize , 1u8 , { let valid : u32 = unsafe { :: std :: mem :: transmute (valid) } ; valid as u64 }) ; __bindgen_bitfield_unit } } # [repr (C)] pub struct CACHED_PERMISSIONS_LEGACY { pub next : * mut CACHED_PERMISSIONS_LEGACY , pub previous : * mut CACHED_PERMISSIONS_LEGACY , pub variable : * mut :: std :: os :: raw :: c_void , pub varsize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , pub mft_no : ntfs_u64 , pub perm : CACHED_PERMISSIONS , } # [test] fn bindgen_test_layout_CACHED_PERMISSIONS_LEGACY () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_PERMISSIONS_LEGACY > () , 64usize , concat ! ("Size of: " , stringify ! (CACHED_PERMISSIONS_LEGACY))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_PERMISSIONS_LEGACY > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_PERMISSIONS_LEGACY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . variable as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (variable))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . varsize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (varsize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (payload))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . mft_no as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (mft_no))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_LEGACY > ())) . perm as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_LEGACY) , "::" , stringify ! (perm))) ; } # [repr (C)] pub struct CACHED_SECURID { pub next : * mut CACHED_SECURID , pub previous : * mut CACHED_SECURID , pub variable : * mut :: std :: os :: raw :: c_void , pub varsize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , pub uid : uid_t , pub gid : gid_t , pub dmode : :: std :: os :: raw :: c_uint , pub securid : le32 , } # [test] fn bindgen_test_layout_CACHED_SECURID () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_SECURID > () , 48usize , concat ! ("Size of: " , stringify ! (CACHED_SECURID))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_SECURID > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_SECURID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . variable as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (variable))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . varsize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (varsize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (payload))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . uid as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (uid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . gid as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (gid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . dmode as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (dmode))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_SECURID > ())) . securid as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (CACHED_SECURID) , "::" , stringify ! (securid))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct CACHED_PERMISSIONS_HEADER { pub last : :: std :: os :: raw :: c_uint , pub p_writes : :: std :: os :: raw :: c_ulong , pub p_reads : :: std :: os :: raw :: c_ulong , pub p_hits : :: std :: os :: raw :: c_ulong , } # [test] fn bindgen_test_layout_CACHED_PERMISSIONS_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_PERMISSIONS_HEADER > () , 32usize , concat ! ("Size of: " , stringify ! (CACHED_PERMISSIONS_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_PERMISSIONS_HEADER > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_PERMISSIONS_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_HEADER > ())) . last as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_HEADER) , "::" , stringify ! (last))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_HEADER > ())) . p_writes as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_HEADER) , "::" , stringify ! (p_writes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_HEADER > ())) . p_reads as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_HEADER) , "::" , stringify ! (p_reads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_PERMISSIONS_HEADER > ())) . p_hits as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_PERMISSIONS_HEADER) , "::" , stringify ! (p_hits))) ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct PERMISSIONS_CACHE { pub head : CACHED_PERMISSIONS_HEADER , pub cachetable : [* mut CACHED_PERMISSIONS ; 1usize] , } # [test] fn bindgen_test_layout_PERMISSIONS_CACHE () { assert_eq ! (:: std :: mem :: size_of :: < PERMISSIONS_CACHE > () , 40usize , concat ! ("Size of: " , stringify ! (PERMISSIONS_CACHE))) ; assert_eq ! (:: std :: mem :: align_of :: < PERMISSIONS_CACHE > () , 8usize , concat ! ("Alignment of " , stringify ! (PERMISSIONS_CACHE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < PERMISSIONS_CACHE > ())) . head as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (PERMISSIONS_CACHE) , "::" , stringify ! (head))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < PERMISSIONS_CACHE > ())) . cachetable as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (PERMISSIONS_CACHE) , "::" , stringify ! (cachetable))) ; } pub const SECURITY_DEFAULT : _bindgen_ty_3 = 0 ; pub const SECURITY_RAW : _bindgen_ty_3 = 1 ; pub const SECURITY_ACL : _bindgen_ty_3 = 2 ; pub const SECURITY_ADDSECURIDS : _bindgen_ty_3 = 3 ; pub const SECURITY_STATICGRPS : _bindgen_ty_3 = 4 ; pub const SECURITY_WANTED : _bindgen_ty_3 = 5 ; pub type _bindgen_ty_3 = u32 ; pub const MAPUSERS : _bindgen_ty_4 = 0 ; pub const MAPGROUPS : _bindgen_ty_4 = 1 ; pub const MAPCOUNT : _bindgen_ty_4 = 2 ; pub type _bindgen_ty_4 = u32 ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_CONTEXT { pub vol : * mut ntfs_volume , pub mapping : [* mut MAPPING ; 2usize] , pub pseccache : * mut * mut PERMISSIONS_CACHE , pub uid : uid_t , pub gid : gid_t , pub tid : pid_t , pub umask : mode_t , } # [test] fn bindgen_test_layout_SECURITY_CONTEXT () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_CONTEXT > () , 48usize , concat ! ("Size of: " , stringify ! (SECURITY_CONTEXT))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_CONTEXT > () , 8usize , concat ! ("Alignment of " , stringify ! (SECURITY_CONTEXT))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . vol as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (vol))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . mapping as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (mapping))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . pseccache as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (pseccache))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . uid as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (uid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . gid as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (gid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . tid as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (tid))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_CONTEXT > ())) . umask as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (SECURITY_CONTEXT) , "::" , stringify ! (umask))) ; } extern "C" { pub fn ntfs_guid_is_zero (guid : * const GUID) -> BOOL ; } extern "C" { pub fn ntfs_guid_to_mbs (guid : * const GUID , guid_str : * mut :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_sid_to_mbs_size (sid : * const SID) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_sid_to_mbs (sid : * const SID , sid_str : * mut :: std :: os :: raw :: c_char , sid_str_size : size_t) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_generate_guid (guid : * mut GUID) ; } extern "C" { pub fn ntfs_sd_add_everyone (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_security_hash (sd : * const SECURITY_DESCRIPTOR_RELATIVE , len : ntfs_u32) -> le32 ; } extern "C" { pub fn ntfs_build_mapping (scx : * mut SECURITY_CONTEXT , usermap_path : * const :: std :: os :: raw :: c_char , allowdef : BOOL) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_owner_mode (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , arg1 : * mut stat) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_mode (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , mode : mode_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_allowed_as_owner (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode) -> BOOL ; } extern "C" { pub fn ntfs_allowed_access (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , accesstype : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_allowed_create (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , pgid : * mut gid_t , pdsetgid : * mut mode_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn old_ntfs_allowed_dir_access (scx : * mut SECURITY_CONTEXT , path : * const :: std :: os :: raw :: c_char , accesstype : :: std :: os :: raw :: c_int) -> BOOL ; } extern "C" { pub fn ntfs_alloc_securid (scx : * mut SECURITY_CONTEXT , uid : uid_t , gid : gid_t , mode : mode_t , isdir : BOOL) -> le32 ; } extern "C" { pub fn ntfs_set_owner (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , uid : uid_t , gid : gid_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ownmod (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , uid : uid_t , gid : gid_t , mode : mode_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_owner_mode (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , uid : uid_t , gid : gid_t , mode : mode_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_inherited_id (scx : * mut SECURITY_CONTEXT , dir_ni : * mut ntfs_inode , fordir : BOOL) -> le32 ; } extern "C" { pub fn ntfs_open_secure (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_close_secure (vol : * mut ntfs_volume) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_destroy_security_context (scx : * mut SECURITY_CONTEXT) ; } extern "C" { pub fn ntfs_get_ntfs_acl (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ntfs_acl (scx : * mut SECURITY_CONTEXT , ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_ntfs_attrib (ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ntfs_attrib (ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct SECURITY_API { pub magic : ntfs_u32 , pub security : SECURITY_CONTEXT , pub seccache : * mut PERMISSIONS_CACHE , } # [test] fn bindgen_test_layout_SECURITY_API () { assert_eq ! (:: std :: mem :: size_of :: < SECURITY_API > () , 64usize , concat ! ("Size of: " , stringify ! (SECURITY_API))) ; assert_eq ! (:: std :: mem :: align_of :: < SECURITY_API > () , 8usize , concat ! ("Alignment of " , stringify ! (SECURITY_API))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_API > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (SECURITY_API) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_API > ())) . security as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (SECURITY_API) , "::" , stringify ! (security))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < SECURITY_API > ())) . seccache as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (SECURITY_API) , "::" , stringify ! (seccache))) ; } pub const OWNER_SECURITY_INFORMATION : _bindgen_ty_5 = 1 ; pub const GROUP_SECURITY_INFORMATION : _bindgen_ty_5 = 2 ; pub const DACL_SECURITY_INFORMATION : _bindgen_ty_5 = 4 ; pub const SACL_SECURITY_INFORMATION : _bindgen_ty_5 = 8 ; pub type _bindgen_ty_5 = u32 ; extern "C" { pub fn ntfs_get_file_security (scapi : * mut SECURITY_API , path : * const :: std :: os :: raw :: c_char , selection : ntfs_u32 , buf : * mut :: std :: os :: raw :: c_char , buflen : ntfs_u32 , psize : * mut ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_file_security (scapi : * mut SECURITY_API , path : * const :: std :: os :: raw :: c_char , selection : ntfs_u32 , attr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_file_attributes (scapi : * mut SECURITY_API , path : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_file_attributes (scapi : * mut SECURITY_API , path : * const :: std :: os :: raw :: c_char , attrib : s32) -> BOOL ; } extern "C" { pub fn ntfs_read_directory (scapi : * mut SECURITY_API , path : * const :: std :: os :: raw :: c_char , callback : ntfs_filldir_t , context : * mut :: std :: os :: raw :: c_void) -> BOOL ; } extern "C" { pub fn ntfs_read_sds (scapi : * mut SECURITY_API , buf : * mut :: std :: os :: raw :: c_char , size : ntfs_u32 , offset : ntfs_u32) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_read_sii (scapi : * mut SECURITY_API , entry : * mut INDEX_ENTRY) -> * mut INDEX_ENTRY ; } extern "C" { pub fn ntfs_read_sdh (scapi : * mut SECURITY_API , entry : * mut INDEX_ENTRY) -> * mut INDEX_ENTRY ; } extern "C" { pub fn ntfs_initialize_file_security (device : * const :: std :: os :: raw :: c_char , flags : :: std :: os :: raw :: c_ulong) -> * mut SECURITY_API ; } extern "C" { pub fn ntfs_leave_file_security (scx : * mut SECURITY_API) -> BOOL ; } extern "C" { pub fn ntfs_get_usid (scapi : * mut SECURITY_API , uid : uid_t , buf : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_gsid (scapi : * mut SECURITY_API , gid : gid_t , buf : * mut :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_user (scapi : * mut SECURITY_API , usid : * const SID) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_group (scapi : * mut SECURITY_API , gsid : * const SID) -> :: std :: os :: raw :: c_int ; } pub type BIGSID = [:: std :: os :: raw :: c_char ; 68usize] ; # [repr (C)] # [derive (Copy , Clone)] pub struct MAPLIST { pub next : * mut MAPLIST , pub uidstr : * mut :: std :: os :: raw :: c_char , pub gidstr : * mut :: std :: os :: raw :: c_char , pub sidstr : * mut :: std :: os :: raw :: c_char , pub maptext : [:: std :: os :: raw :: c_char ; 121usize] , } # [test] fn bindgen_test_layout_MAPLIST () { assert_eq ! (:: std :: mem :: size_of :: < MAPLIST > () , 160usize , concat ! ("Size of: " , stringify ! (MAPLIST))) ; assert_eq ! (:: std :: mem :: align_of :: < MAPLIST > () , 8usize , concat ! ("Alignment of " , stringify ! (MAPLIST))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPLIST > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (MAPLIST) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPLIST > ())) . uidstr as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (MAPLIST) , "::" , stringify ! (uidstr))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPLIST > ())) . gidstr as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (MAPLIST) , "::" , stringify ! (gidstr))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPLIST > ())) . sidstr as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (MAPLIST) , "::" , stringify ! (sidstr))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < MAPLIST > ())) . maptext as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (MAPLIST) , "::" , stringify ! (maptext))) ; } pub type FILEREADER = :: std :: option :: Option < unsafe extern "C" fn (fileid : * mut :: std :: os :: raw :: c_void , buf : * mut :: std :: os :: raw :: c_char , size : size_t , pos : off_t) -> :: std :: os :: raw :: c_int > ; extern "C" { pub static mut adminsid : * const SID ; } extern "C" { pub static mut worldsid : * const SID ; } extern "C" { pub fn ntfs_valid_descr (securattr : * const :: std :: os :: raw :: c_char , attrsz : :: std :: os :: raw :: c_uint) -> BOOL ; } extern "C" { pub fn ntfs_valid_pattern (sid : * const SID) -> BOOL ; } extern "C" { pub fn ntfs_valid_sid (sid : * const SID) -> BOOL ; } extern "C" { pub fn ntfs_same_sid (first : * const SID , second : * const SID) -> BOOL ; } extern "C" { pub fn ntfs_is_user_sid (usid : * const SID) -> BOOL ; } extern "C" { pub fn ntfs_sid_size (sid : * const SID) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attr_size (attr : * const :: std :: os :: raw :: c_char) -> :: std :: os :: raw :: c_uint ; } extern "C" { pub fn ntfs_find_usid (usermapping : * const MAPPING , uid : uid_t , pdefsid : * mut SID) -> * const SID ; } extern "C" { pub fn ntfs_find_gsid (groupmapping : * const MAPPING , gid : gid_t , pdefsid : * mut SID) -> * const SID ; } extern "C" { pub fn ntfs_find_user (usermapping : * const MAPPING , usid : * const SID) -> uid_t ; } extern "C" { pub fn ntfs_find_group (groupmapping : * const MAPPING , gsid : * const SID) -> gid_t ; } extern "C" { pub fn ntfs_acl_owner (secattr : * const :: std :: os :: raw :: c_char) -> * const SID ; } extern "C" { pub fn ntfs_inherit_acl (oldacl : * const ACL , newacl : * mut ACL , usid : * const SID , gsid : * const SID , fordir : BOOL , inherited : le16) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_build_permissions (securattr : * const :: std :: os :: raw :: c_char , usid : * const SID , gsid : * const SID , isdir : BOOL) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_build_descr (mode : mode_t , isdir : :: std :: os :: raw :: c_int , usid : * const SID , gsid : * const SID) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_read_mapping (reader : FILEREADER , fileid : * mut :: std :: os :: raw :: c_void) -> * mut MAPLIST ; } extern "C" { pub fn ntfs_do_user_mapping (firstitem : * mut MAPLIST) -> * mut MAPPING ; } extern "C" { pub fn ntfs_do_group_mapping (firstitem : * mut MAPLIST) -> * mut MAPPING ; } extern "C" { pub fn ntfs_free_mapping (mapping : * mut * mut MAPPING) ; } extern "C" { pub fn ntfs_attrlist_need (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attrlist_entry_add (ni : * mut ntfs_inode , attr : * mut ATTR_RECORD) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_attrlist_entry_rm (ctx : * mut ntfs_attr_search_ctx) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_bit_set (bitmap : * mut ntfs_u8 , bit : ntfs_u64 , new_value : ntfs_u8) ; } extern "C" { pub fn ntfs_bit_get (bitmap : * const ntfs_u8 , bit : ntfs_u64) -> :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_bit_get_and_set (bitmap : * mut ntfs_u8 , bit : ntfs_u64 , new_value : ntfs_u8) -> :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_bitmap_set_run (na : * mut ntfs_attr , start_bit : s64 , count : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_bitmap_clear_run (na : * mut ntfs_attr , start_bit : s64 , count : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { # [doc = " ntfs_boot_sector_is_ntfs - check a boot sector for describing an ntfs volume"] # [doc = " @b:\t\tbuffer containing the boot sector"] # [doc = ""] # [doc = " This function checks the boot sector in @b for describing a valid ntfs"] # [doc = " volume. Return TRUE if @b is a valid NTFS boot sector or FALSE otherwise."] pub fn ntfs_boot_sector_is_ntfs (b : * mut NTFS_BOOT_SECTOR) -> BOOL ; } extern "C" { pub fn ntfs_boot_sector_parse (vol : * mut ntfs_volume , bs : * const NTFS_BOOT_SECTOR) -> :: std :: os :: raw :: c_int ; } # [repr (C)] pub struct CACHED_GENERIC { pub next : * mut CACHED_GENERIC , pub previous : * mut CACHED_GENERIC , pub variable : * mut :: std :: os :: raw :: c_void , pub varsize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , } # [test] fn bindgen_test_layout_CACHED_GENERIC () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_GENERIC > () , 32usize , concat ! ("Size of: " , stringify ! (CACHED_GENERIC))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_GENERIC > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_GENERIC))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_GENERIC > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_GENERIC) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_GENERIC > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_GENERIC) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_GENERIC > ())) . variable as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_GENERIC) , "::" , stringify ! (variable))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_GENERIC > ())) . varsize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_GENERIC) , "::" , stringify ! (varsize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_GENERIC > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_GENERIC) , "::" , stringify ! (payload))) ; } # [repr (C)] pub struct CACHED_INODE { pub next : * mut CACHED_INODE , pub previous : * mut CACHED_INODE , pub pathname : * const :: std :: os :: raw :: c_char , pub varsize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , pub inum : ntfs_u64 , } # [test] fn bindgen_test_layout_CACHED_INODE () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_INODE > () , 40usize , concat ! ("Size of: " , stringify ! (CACHED_INODE))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_INODE > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_INODE))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . pathname as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (pathname))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . varsize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (varsize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (payload))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_INODE > ())) . inum as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_INODE) , "::" , stringify ! (inum))) ; } # [repr (C)] pub struct CACHED_NIDATA { pub next : * mut CACHED_NIDATA , pub previous : * mut CACHED_NIDATA , pub pathname : * const :: std :: os :: raw :: c_char , pub varsize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , pub inum : ntfs_u64 , pub ni : * mut ntfs_inode , } # [test] fn bindgen_test_layout_CACHED_NIDATA () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_NIDATA > () , 48usize , concat ! ("Size of: " , stringify ! (CACHED_NIDATA))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_NIDATA > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_NIDATA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . pathname as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (pathname))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . varsize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (varsize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (payload))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . inum as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (inum))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_NIDATA > ())) . ni as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (CACHED_NIDATA) , "::" , stringify ! (ni))) ; } # [repr (C)] pub struct CACHED_LOOKUP { pub next : * mut CACHED_LOOKUP , pub previous : * mut CACHED_LOOKUP , pub name : * const :: std :: os :: raw :: c_char , pub namesize : size_t , pub payload : __IncompleteArrayField < ALIGNMENT > , pub parent : ntfs_u64 , pub inum : ntfs_u64 , } # [test] fn bindgen_test_layout_CACHED_LOOKUP () { assert_eq ! (:: std :: mem :: size_of :: < CACHED_LOOKUP > () , 48usize , concat ! ("Size of: " , stringify ! (CACHED_LOOKUP))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHED_LOOKUP > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHED_LOOKUP))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . previous as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (previous))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . name as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . namesize as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (namesize))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . payload as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (payload))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . parent as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (parent))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHED_LOOKUP > ())) . inum as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (CACHED_LOOKUP) , "::" , stringify ! (inum))) ; } pub const CACHE_FREE : _bindgen_ty_6 = 1 ; pub const CACHE_NOHASH : _bindgen_ty_6 = 2 ; pub type _bindgen_ty_6 = u32 ; pub type cache_compare = :: std :: option :: Option < unsafe extern "C" fn (cached : * const CACHED_GENERIC , item : * const CACHED_GENERIC) -> :: std :: os :: raw :: c_int > ; pub type cache_free = :: std :: option :: Option < unsafe extern "C" fn (cached : * const CACHED_GENERIC) > ; pub type cache_hash = :: std :: option :: Option < unsafe extern "C" fn (cached : * const CACHED_GENERIC) -> :: std :: os :: raw :: c_int > ; # [repr (C)] # [derive (Debug , Copy , Clone)] pub struct HASH_ENTRY { pub next : * mut HASH_ENTRY , pub entry : * mut CACHED_GENERIC , } # [test] fn bindgen_test_layout_HASH_ENTRY () { assert_eq ! (:: std :: mem :: size_of :: < HASH_ENTRY > () , 16usize , concat ! ("Size of: " , stringify ! (HASH_ENTRY))) ; assert_eq ! (:: std :: mem :: align_of :: < HASH_ENTRY > () , 8usize , concat ! ("Alignment of " , stringify ! (HASH_ENTRY))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < HASH_ENTRY > ())) . next as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (HASH_ENTRY) , "::" , stringify ! (next))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < HASH_ENTRY > ())) . entry as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (HASH_ENTRY) , "::" , stringify ! (entry))) ; } # [repr (C)] pub struct CACHE_HEADER { pub name : * const :: std :: os :: raw :: c_char , pub most_recent_entry : * mut CACHED_GENERIC , pub oldest_entry : * mut CACHED_GENERIC , pub free_entry : * mut CACHED_GENERIC , pub free_hash : * mut HASH_ENTRY , pub first_hash : * mut * mut HASH_ENTRY , pub dofree : cache_free , pub dohash : cache_hash , pub reads : :: std :: os :: raw :: c_ulong , pub writes : :: std :: os :: raw :: c_ulong , pub hits : :: std :: os :: raw :: c_ulong , pub fixed_size : :: std :: os :: raw :: c_int , pub max_hash : :: std :: os :: raw :: c_int , pub entry : __IncompleteArrayField < CACHED_GENERIC > , } # [test] fn bindgen_test_layout_CACHE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < CACHE_HEADER > () , 96usize , concat ! ("Size of: " , stringify ! (CACHE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < CACHE_HEADER > () , 8usize , concat ! ("Alignment of " , stringify ! (CACHE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . name as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (name))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . most_recent_entry as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (most_recent_entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . oldest_entry as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (oldest_entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . free_entry as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (free_entry))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . free_hash as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (free_hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . first_hash as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (first_hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . dofree as * const _ as usize } , 48usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (dofree))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . dohash as * const _ as usize } , 56usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (dohash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . reads as * const _ as usize } , 64usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (reads))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . writes as * const _ as usize } , 72usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (writes))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . hits as * const _ as usize } , 80usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (hits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . fixed_size as * const _ as usize } , 88usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (fixed_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . max_hash as * const _ as usize } , 92usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (max_hash))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < CACHE_HEADER > ())) . entry as * const _ as usize } , 96usize , concat ! ("Offset of field: " , stringify ! (CACHE_HEADER) , "::" , stringify ! (entry))) ; } extern "C" { pub fn ntfs_fetch_cache (cache : * mut CACHE_HEADER , wanted : * const CACHED_GENERIC , compare : cache_compare) -> * mut CACHED_GENERIC ; } extern "C" { pub fn ntfs_enter_cache (cache : * mut CACHE_HEADER , item : * const CACHED_GENERIC , compare : cache_compare) -> * mut CACHED_GENERIC ; } extern "C" { pub fn ntfs_invalidate_cache (cache : * mut CACHE_HEADER , item : * const CACHED_GENERIC , compare : cache_compare , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_remove_cache (cache : * mut CACHE_HEADER , item : * mut CACHED_GENERIC , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_create_lru_caches (vol : * mut ntfs_volume) ; } extern "C" { pub fn ntfs_free_lru_caches (vol : * mut ntfs_volume) ; } extern "C" { pub fn ntfs_get_collate_function (arg1 : COLLATION_RULES) -> COLLATE ; } extern "C" { pub fn __errno_location () -> * mut :: std :: os :: raw :: c_int ; } extern "C" { pub fn ffs (i : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn daemon (nochdir : :: std :: os :: raw :: c_int , noclose : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn strsep (stringp : * mut * mut :: std :: os :: raw :: c_char , delim : * const :: std :: os :: raw :: c_char) -> * mut :: std :: os :: raw :: c_char ; } extern "C" { pub fn ntfs_compressed_attr_pread (na : * mut ntfs_attr , pos : s64 , count : s64 , b : * mut :: std :: os :: raw :: c_void) -> s64 ; } extern "C" { pub fn ntfs_compressed_pwrite (na : * mut ntfs_attr , brl : * mut runlist_element , wpos : s64 , offs : s64 , to_write : s64 , rounded : s64 , b : * const :: std :: os :: raw :: c_void , compressed_part : :: std :: os :: raw :: c_int , update_from : * mut VCN) -> s64 ; } extern "C" { pub fn ntfs_compressed_close (na : * mut ntfs_attr , brl : * mut runlist_element , offs : s64 , update_from : * mut VCN) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ea_check_wsldev (ni : * mut ntfs_inode , rdevp : * mut dev_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ea_set_wsl_not_symlink (ni : * mut ntfs_inode , mode : mode_t , dev : dev_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_ntfs_ea (ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_ntfs_ea (ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_remove_ntfs_ea (ni : * mut ntfs_inode) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_get_efs_info (ni : * mut ntfs_inode , value : * mut :: std :: os :: raw :: c_char , size : size_t) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_set_efs_info (ni : * mut ntfs_inode , value : * const :: std :: os :: raw :: c_char , size : size_t , flags : :: std :: os :: raw :: c_int) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_efs_fixup_attribute (ctx : * mut ntfs_attr_search_ctx , na : * mut ntfs_attr) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_ioctl (ni : * mut ntfs_inode , cmd : :: std :: os :: raw :: c_ulong , arg : * mut :: std :: os :: raw :: c_void , flags : :: std :: os :: raw :: c_uint , data : * mut :: std :: os :: raw :: c_void) -> :: std :: os :: raw :: c_int ; } pub const NTFS_CLUSTER_ALLOCATION_ZONES_FIRST_ZONE : NTFS_CLUSTER_ALLOCATION_ZONES = 0 ; pub const NTFS_CLUSTER_ALLOCATION_ZONES_MFT_ZONE : NTFS_CLUSTER_ALLOCATION_ZONES = 0 ; pub const NTFS_CLUSTER_ALLOCATION_ZONES_DATA_ZONE : NTFS_CLUSTER_ALLOCATION_ZONES = 1 ; pub const NTFS_CLUSTER_ALLOCATION_ZONES_LAST_ZONE : NTFS_CLUSTER_ALLOCATION_ZONES = 1 ; # [doc = " enum NTFS_CLUSTER_ALLOCATION_ZONES -"] pub type NTFS_CLUSTER_ALLOCATION_ZONES = u32 ; extern "C" { pub fn ntfs_cluster_alloc (vol : * mut ntfs_volume , start_vcn : VCN , count : s64 , start_lcn : LCN , zone : NTFS_CLUSTER_ALLOCATION_ZONES) -> * mut runlist ; } extern "C" { pub fn ntfs_cluster_free_from_rl (vol : * mut ntfs_volume , rl : * mut runlist) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_cluster_free_basic (vol : * mut ntfs_volume , lcn : s64 , count : s64) -> :: std :: os :: raw :: c_int ; } extern "C" { pub fn ntfs_cluster_free (vol : * mut ntfs_volume , na : * mut ntfs_attr , start_vcn : VCN , count : s64) -> :: std :: os :: raw :: c_int ; } # [doc = " struct RESTART_PAGE_HEADER - Log file restart page header."] # [doc = ""] # [doc = " Begins the restart area."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct RESTART_PAGE_HEADER { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub chkdsk_lsn : leLSN , pub system_page_size : le32 , pub log_page_size : le32 , pub restart_area_offset : le16 , pub minor_ver : sle16 , pub major_ver : sle16 , pub usn : le16 , } # [test] fn bindgen_test_layout_RESTART_PAGE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < RESTART_PAGE_HEADER > () , 32usize , concat ! ("Size of: " , stringify ! (RESTART_PAGE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < RESTART_PAGE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (RESTART_PAGE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . chkdsk_lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (chkdsk_lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . system_page_size as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (system_page_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . log_page_size as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (log_page_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . restart_area_offset as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (restart_area_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . minor_ver as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (minor_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . major_ver as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (major_ver))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_PAGE_HEADER > ())) . usn as * const _ as usize } , 30usize , concat ! ("Offset of field: " , stringify ! (RESTART_PAGE_HEADER) , "::" , stringify ! (usn))) ; } pub const RESTART_VOLUME_IS_CLEAN : _bindgen_ty_7 = 2 ; pub const RESTART_SPACE_FILLER : _bindgen_ty_7 = 65535 ; pub type _bindgen_ty_7 = u16 ; pub type RESTART_AREA_FLAGS = le16 ; # [doc = " struct RESTART_AREA - Log file restart area record."] # [doc = ""] # [doc = " The offset of this record is found by adding the offset of the"] # [doc = " RESTART_PAGE_HEADER to the restart_area_offset value found in it."] # [doc = " See notes at restart_area_offset above."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct RESTART_AREA { pub current_lsn : leLSN , pub log_clients : le16 , pub client_free_list : le16 , pub client_in_use_list : le16 , pub flags : RESTART_AREA_FLAGS , pub seq_number_bits : le32 , pub restart_area_length : le16 , pub client_array_offset : le16 , pub file_size : sle64 , pub last_lsn_data_length : le32 , pub log_record_header_length : le16 , pub log_page_data_offset : le16 , pub restart_log_open_count : le32 , pub reserved : le32 , } # [test] fn bindgen_test_layout_RESTART_AREA () { assert_eq ! (:: std :: mem :: size_of :: < RESTART_AREA > () , 48usize , concat ! ("Size of: " , stringify ! (RESTART_AREA))) ; assert_eq ! (:: std :: mem :: align_of :: < RESTART_AREA > () , 1usize , concat ! ("Alignment of " , stringify ! (RESTART_AREA))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . current_lsn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (current_lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . log_clients as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (log_clients))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . client_free_list as * const _ as usize } , 10usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (client_free_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . client_in_use_list as * const _ as usize } , 12usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (client_in_use_list))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . flags as * const _ as usize } , 14usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . seq_number_bits as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (seq_number_bits))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . restart_area_length as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (restart_area_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . client_array_offset as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (client_array_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . file_size as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (file_size))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . last_lsn_data_length as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (last_lsn_data_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . log_record_header_length as * const _ as usize } , 36usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (log_record_header_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . log_page_data_offset as * const _ as usize } , 38usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (log_page_data_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . restart_log_open_count as * const _ as usize } , 40usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (restart_log_open_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RESTART_AREA > ())) . reserved as * const _ as usize } , 44usize , concat ! ("Offset of field: " , stringify ! (RESTART_AREA) , "::" , stringify ! (reserved))) ; } # [doc = " struct LOG_CLIENT_RECORD - Log client record."] # [doc = ""] # [doc = " The offset of this record is found by adding the offset of the"] # [doc = " RESTART_AREA to the client_array_offset value found in it."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct LOG_CLIENT_RECORD { pub oldest_lsn : leLSN , pub client_restart_lsn : leLSN , pub prev_client : le16 , pub next_client : le16 , pub seq_number : le16 , pub reserved : [ntfs_u8 ; 6usize] , pub client_name_length : le32 , pub client_name : [ntfschar ; 64usize] , } # [test] fn bindgen_test_layout_LOG_CLIENT_RECORD () { assert_eq ! (:: std :: mem :: size_of :: < LOG_CLIENT_RECORD > () , 160usize , concat ! ("Size of: " , stringify ! (LOG_CLIENT_RECORD))) ; assert_eq ! (:: std :: mem :: align_of :: < LOG_CLIENT_RECORD > () , 1usize , concat ! ("Alignment of " , stringify ! (LOG_CLIENT_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . oldest_lsn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (oldest_lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . client_restart_lsn as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (client_restart_lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . prev_client as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (prev_client))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . next_client as * const _ as usize } , 18usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (next_client))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . seq_number as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (seq_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . reserved as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . client_name_length as * const _ as usize } , 28usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (client_name_length))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_RECORD > ())) . client_name as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_RECORD) , "::" , stringify ! (client_name))) ; } # [doc = " struct RECORD_PAGE_HEADER - Log page record page header."] # [doc = ""] # [doc = " Each log page begins with this header and is followed by several LOG_RECORD"] # [doc = " structures, starting at offset 0x40 (the size of this structure and the"] # [doc = " following update sequence array and then aligned to 8 byte boundary, but is"] # [doc = " this specified anywhere?)."] # [repr (C , packed)] # [derive (Copy , Clone)] pub struct RECORD_PAGE_HEADER { pub magic : NTFS_RECORD_TYPES , pub usa_ofs : le16 , pub usa_count : le16 , pub copy : RECORD_PAGE_HEADER__bindgen_ty_1 , pub flags : le32 , pub page_count : le16 , pub page_position : le16 , pub next_record_offset : le16 , pub reserved : [le16 ; 3usize] , pub last_end_lsn : leLSN , } # [repr (C , packed)] # [derive (Copy , Clone)] pub union RECORD_PAGE_HEADER__bindgen_ty_1 { pub last_lsn : leLSN , pub file_offset : sle64 , _bindgen_union_align : [u8 ; 8usize] , } # [test] fn bindgen_test_layout_RECORD_PAGE_HEADER__bindgen_ty_1 () { assert_eq ! (:: std :: mem :: size_of :: < RECORD_PAGE_HEADER__bindgen_ty_1 > () , 8usize , concat ! ("Size of: " , stringify ! (RECORD_PAGE_HEADER__bindgen_ty_1))) ; assert_eq ! (:: std :: mem :: align_of :: < RECORD_PAGE_HEADER__bindgen_ty_1 > () , 1usize , concat ! ("Alignment of " , stringify ! (RECORD_PAGE_HEADER__bindgen_ty_1))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER__bindgen_ty_1 > ())) . last_lsn as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER__bindgen_ty_1) , "::" , stringify ! (last_lsn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER__bindgen_ty_1 > ())) . file_offset as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER__bindgen_ty_1) , "::" , stringify ! (file_offset))) ; } # [test] fn bindgen_test_layout_RECORD_PAGE_HEADER () { assert_eq ! (:: std :: mem :: size_of :: < RECORD_PAGE_HEADER > () , 40usize , concat ! ("Size of: " , stringify ! (RECORD_PAGE_HEADER))) ; assert_eq ! (:: std :: mem :: align_of :: < RECORD_PAGE_HEADER > () , 1usize , concat ! ("Alignment of " , stringify ! (RECORD_PAGE_HEADER))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . magic as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . usa_ofs as * const _ as usize } , 4usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . usa_count as * const _ as usize } , 6usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (usa_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . copy as * const _ as usize } , 8usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (copy))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . flags as * const _ as usize } , 16usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (flags))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . page_count as * const _ as usize } , 20usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (page_count))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . page_position as * const _ as usize } , 22usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (page_position))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . next_record_offset as * const _ as usize } , 24usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (next_record_offset))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . reserved as * const _ as usize } , 26usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (reserved))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < RECORD_PAGE_HEADER > ())) . last_end_lsn as * const _ as usize } , 32usize , concat ! ("Offset of field: " , stringify ! (RECORD_PAGE_HEADER) , "::" , stringify ! (last_end_lsn))) ; } pub const LOG_RECORD_FLAGS_LOG_RECORD_MULTI_PAGE : LOG_RECORD_FLAGS = 1 ; pub const LOG_RECORD_FLAGS_LOG_RECORD_DELETING : LOG_RECORD_FLAGS = 2 ; pub const LOG_RECORD_FLAGS_LOG_RECORD_ADDING : LOG_RECORD_FLAGS = 4 ; pub const LOG_RECORD_FLAGS_LOG_RECORD_SIZE_PLACE_HOLDER : LOG_RECORD_FLAGS = 65535 ; # [doc = " enum LOG_RECORD_FLAGS - Possible 16-bit flags for log records."] # [doc = ""] # [doc = "\tSome flags describe what kind of update is being logged."] # [doc = ""] # [doc = " (Or is it log record pages?)"] pub type LOG_RECORD_FLAGS = u16 ; # [doc = " struct LOG_CLIENT_ID - The log client id structure identifying a log client."] # [repr (C , packed)] # [derive (Debug , Copy , Clone)] pub struct LOG_CLIENT_ID { pub seq_number : le16 , pub client_index : le16 , } # [test] fn bindgen_test_layout_LOG_CLIENT_ID () { assert_eq ! (:: std :: mem :: size_of :: < LOG_CLIENT_ID > () , 4usize , concat ! ("Size of: " , stringify ! (LOG_CLIENT_ID))) ; assert_eq ! (:: std :: mem :: align_of :: < LOG_CLIENT_ID > () , 1usize , concat ! ("Alignment of " , stringify ! (LOG_CLIENT_ID))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_ID > ())) . seq_number as * const _ as usize } , 0usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_ID) , "::" , stringify ! (seq_number))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < LOG_CLIENT_ID > ())) . client_index as * const _ as usize } , 2usize , concat ! ("Offset of field: " , stringify ! (LOG_CLIENT_ID) , "::" , stringify ! (client_index))) ; } pub const LOG_STANDARD : _bindgen_ty_8 = 1 ; pub const LOG_CHECKPOINT : _bindgen_ty_8 = 2 ; pub const LOG_RECORD_TYPE_PLACE_HOLDER : _bindgen_ty_8 = 4294967295 ; pub type _bindgen_ty_8 = u32 ; pub type LOG_RECORD_TYPE = le32 ; pub const ACTS_ON_MFT : _bindgen_ty_9 = 2 ; pub const ACTS_ON_INDX : _bindgen_ty_9 = 8 ; pub const ATTRIBUTE_FLAGS_PLACE_HOLDER : _bindgen_ty_9 = 65535 ; pub type _bindgen_ty_9 = u32 ; pub type ATTRIBUTE_FLAGS = le16 ; # [doc = " struct LOG_RECORD - Log record header."] # [doc = ""] # [doc = " Each log record seems to have a constant size of 0x70 bytes."] # [repr (C , packed)] pub struct LOG_RECORD { pub this_lsn : leLSN , pub client_previous_lsn : leLSN , pub client_undo_next_lsn : leLSN , pub client_data_length : le32 , pub client_id : LOG_CLIENT_ID , pub record_type : LOG_RECORD_TYPE , pub transaction_id : le32 , pub log_record_flags : LOG_RECORD_FLAGS , pub reserved_or_alignment : [le16 ; 3usize] , pub redo_operation : le16 , pub undo_operation : le16 , pub redo_offset : le16 , pub redo_length : le16 , pub __bindgen_anon_1 : LOG_RECORD__bindgen_ty_1 , } # [repr (C , packed)] pub struct LOG_RECORD__bindgen_ty_1 { pub __bindgen_anon_1 : __BindgenUnionField < LOG_RECORD__bindgen_ty_1__bindgen_ty_1 > , pub __bindgen_anon_2 : __BindgenUnionField < LOG_RECORD__bindgen_ty_1__bindgen_ty_2 > , pub bindgen_union_field : [u8 ; 32usize] , } # [repr (C , packed)] # [derive (Debug)] pub struct LOG_RECORD__bindgen_ty_1__bindgen_ty_1 { pub undo_offset : le16 , pub undo_length : le16 , pub target_attribute : le16 , pub lcns_to_follow : le16 , pub record_offset : le16 , pub attribute_offset : le16 , pub cluster_index : le16 , pub attribute_flags : ATTRIBUTE_FLAGS , pub target_vcn : leVCN , pub lcn_list : __IncompleteArrayField < leLCN > , ...
[INFO] [stdout]   |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ consider implementing `Clone` for this type                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             ----------------------------------------------- you could clone this value
[INFO] [stdout]   = note: `#[derive(Debug)]` triggers a move because taking references to the fields of a packed struct is undefined behaviour
[INFO] [stdout]   = note: this error originates in the derive macro `Debug` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:71533
[INFO] [stdout]   |
[INFO] [stdout] 3 | ..._lcn))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . mftmirr_lcn as * const _ as usize } , 56usi...
[INFO] [stdout]   |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:72732
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . volume_serial_number as * const _ as usize } , 7...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:72981
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...umber))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . checksum as * const _ as usize } , 80usize...
[INFO] [stdout]   |                                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:73433
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...)) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_BOOT_SECTOR > ())) . end_of_sector_marker as * const _ as usize } , 5...
[INFO] [stdout]   |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:76143
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...FS_RECORD))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . magic as * const _ as usize } , 0usize , co...
[INFO] [stdout]   |                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:76351
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...! (magic))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_ofs as * const _ as usize } , 4usize , c...
[INFO] [stdout]   |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0793]: reference to packed field is unaligned
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:76563
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...usa_ofs))) ; assert_eq ! (unsafe { & (* (:: std :: ptr :: null :: < NTFS_RECORD > ())) . usa_count as * const _ as usize } , 6usize , ...
[INFO] [stdout]   |                                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: packed structs are only aligned by one byte, and many modern architectures penalize unaligned field accesses
[INFO] [stdout]   = note: creating a misaligned reference is undefined behavior (even if that reference is never dereferenced)
[INFO] [stdout]   = help: copy the field contents to a local variable, or replace the reference with a raw pointer and use `read_unaligned`/`write_unaligned` (loads and stores via `*p` must be properly aligned even when using raw pointers)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0507]: cannot move out of `self.unknown_list` which is behind a shared reference
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:398690
[INFO] [stdout]   |
[INFO] [stdout] 3 | ...e (Debug)] pub struct LOG_RECORD__bindgen_ty_1__bindgen_ty_2 { pub transaction_lsn : leLSN , pub attributes_lsn : leLSN , pub names_lsn : leLSN , pub dirty_pages_lsn : leLSN , pub unknown_list : __IncompleteArrayField < le64 > , ...
[INFO] [stdout]   |       ----- in this derive macro expansion                                                                                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ move occurs because `self.unknown_list` has type `__IncompleteArrayField<u64>`, which does not implement the `Copy` trait
[INFO] [stdout]   |
[INFO] [stdout] note: if `__IncompleteArrayField<u64>` implemented `Clone`, you could clone the value
[INFO] [stdout]  --> /opt/rustwide/target/debug/build/ntfs-3g-sys-4e9b4e903432ba51/out/bindings.rs:3:2299
[INFO] [stdout]   |
[WARN] too much data in the log, truncating it
