aboutsummaryrefslogtreecommitdiff
path: root/vendor/windows-sys/src/core/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/windows-sys/src/core/mod.rs')
-rw-r--r--vendor/windows-sys/src/core/mod.rs36
1 files changed, 36 insertions, 0 deletions
diff --git a/vendor/windows-sys/src/core/mod.rs b/vendor/windows-sys/src/core/mod.rs
new file mode 100644
index 0000000..8773a3c
--- /dev/null
+++ b/vendor/windows-sys/src/core/mod.rs
@@ -0,0 +1,36 @@
+mod literals;
+
+#[doc(hidden)]
+pub use literals::*;
+
+pub type HRESULT = i32;
+pub type HSTRING = *mut ::core::ffi::c_void;
+pub type IUnknown = *mut ::core::ffi::c_void;
+pub type IInspectable = *mut ::core::ffi::c_void;
+pub type PSTR = *mut u8;
+pub type PWSTR = *mut u16;
+pub type PCSTR = *const u8;
+pub type PCWSTR = *const u16;
+pub type BSTR = *const u16;
+
+#[repr(C)]
+pub struct GUID {
+ pub data1: u32,
+ pub data2: u16,
+ pub data3: u16,
+ pub data4: [u8; 8],
+}
+
+impl ::core::marker::Copy for GUID {}
+
+impl ::core::clone::Clone for GUID {
+ fn clone(&self) -> Self {
+ *self
+ }
+}
+
+impl GUID {
+ pub const fn from_u128(uuid: u128) -> Self {
+ Self { data1: (uuid >> 96) as u32, data2: (uuid >> 80 & 0xffff) as u16, data3: (uuid >> 64 & 0xffff) as u16, data4: (uuid as u64).to_be_bytes() }
+ }
+}