1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)] 2 #[link(name = "windows")] 3 extern "system" {} 4 pub type Buffer = *mut ::core::ffi::c_void; 5 #[repr(transparent)] 6 pub struct ByteOrder(pub i32); 7 impl ByteOrder { 8 pub const LittleEndian: Self = Self(0i32); 9 pub const BigEndian: Self = Self(1i32); 10 } 11 impl ::core::marker::Copy for ByteOrder {} 12 impl ::core::clone::Clone for ByteOrder { clone(&self) -> Self13 fn clone(&self) -> Self { 14 *self 15 } 16 } 17 pub type DataReader = *mut ::core::ffi::c_void; 18 pub type DataReaderLoadOperation = *mut ::core::ffi::c_void; 19 pub type DataWriter = *mut ::core::ffi::c_void; 20 pub type DataWriterStoreOperation = *mut ::core::ffi::c_void; 21 pub type FileInputStream = *mut ::core::ffi::c_void; 22 #[repr(transparent)] 23 pub struct FileOpenDisposition(pub i32); 24 impl FileOpenDisposition { 25 pub const OpenExisting: Self = Self(0i32); 26 pub const OpenAlways: Self = Self(1i32); 27 pub const CreateNew: Self = Self(2i32); 28 pub const CreateAlways: Self = Self(3i32); 29 pub const TruncateExisting: Self = Self(4i32); 30 } 31 impl ::core::marker::Copy for FileOpenDisposition {} 32 impl ::core::clone::Clone for FileOpenDisposition { clone(&self) -> Self33 fn clone(&self) -> Self { 34 *self 35 } 36 } 37 pub type FileOutputStream = *mut ::core::ffi::c_void; 38 pub type FileRandomAccessStream = *mut ::core::ffi::c_void; 39 pub type IBuffer = *mut ::core::ffi::c_void; 40 pub type IContentTypeProvider = *mut ::core::ffi::c_void; 41 pub type IDataReader = *mut ::core::ffi::c_void; 42 pub type IDataWriter = *mut ::core::ffi::c_void; 43 pub type IInputStream = *mut ::core::ffi::c_void; 44 pub type IInputStreamReference = *mut ::core::ffi::c_void; 45 pub type IOutputStream = *mut ::core::ffi::c_void; 46 pub type IPropertySetSerializer = *mut ::core::ffi::c_void; 47 pub type IRandomAccessStream = *mut ::core::ffi::c_void; 48 pub type IRandomAccessStreamReference = *mut ::core::ffi::c_void; 49 pub type IRandomAccessStreamWithContentType = *mut ::core::ffi::c_void; 50 pub type InMemoryRandomAccessStream = *mut ::core::ffi::c_void; 51 #[repr(transparent)] 52 pub struct InputStreamOptions(pub u32); 53 impl InputStreamOptions { 54 pub const None: Self = Self(0u32); 55 pub const Partial: Self = Self(1u32); 56 pub const ReadAhead: Self = Self(2u32); 57 } 58 impl ::core::marker::Copy for InputStreamOptions {} 59 impl ::core::clone::Clone for InputStreamOptions { clone(&self) -> Self60 fn clone(&self) -> Self { 61 *self 62 } 63 } 64 pub type InputStreamOverStream = *mut ::core::ffi::c_void; 65 pub type OutputStreamOverStream = *mut ::core::ffi::c_void; 66 pub type RandomAccessStreamOverStream = *mut ::core::ffi::c_void; 67 pub type RandomAccessStreamReference = *mut ::core::ffi::c_void; 68 #[repr(transparent)] 69 pub struct UnicodeEncoding(pub i32); 70 impl UnicodeEncoding { 71 pub const Utf8: Self = Self(0i32); 72 pub const Utf16LE: Self = Self(1i32); 73 pub const Utf16BE: Self = Self(2i32); 74 } 75 impl ::core::marker::Copy for UnicodeEncoding {} 76 impl ::core::clone::Clone for UnicodeEncoding { clone(&self) -> Self77 fn clone(&self) -> Self { 78 *self 79 } 80 } 81