From 1b6a04ca5504955c571d1c97504fb45ea0befee4 Mon Sep 17 00:00:00 2001
From: Valentin Popov <valentin@popov.link>
Date: Mon, 8 Jan 2024 01:21:28 +0400
Subject: Initial vendor packages

Signed-off-by: Valentin Popov <valentin@popov.link>
---
 vendor/winapi/src/shared/guiddef.rs | 36 ++++++++++++++++++++++++++++++++++++
 1 file changed, 36 insertions(+)
 create mode 100644 vendor/winapi/src/shared/guiddef.rs

(limited to 'vendor/winapi/src/shared/guiddef.rs')

diff --git a/vendor/winapi/src/shared/guiddef.rs b/vendor/winapi/src/shared/guiddef.rs
new file mode 100644
index 0000000..dcd39dc
--- /dev/null
+++ b/vendor/winapi/src/shared/guiddef.rs
@@ -0,0 +1,36 @@
+// Licensed under the Apache License, Version 2.0
+// <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
+// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
+// All files in the project carrying such notice may not be copied, modified, or distributed
+// except according to those terms.
+//! GUID definition
+use ctypes::{c_uchar, c_ulong, c_ushort};
+STRUCT!{#[debug] struct GUID {
+    Data1: c_ulong,
+    Data2: c_ushort,
+    Data3: c_ushort,
+    Data4: [c_uchar; 8],
+}}
+pub type LPGUID = *mut GUID;
+pub type LPCGUID = *const GUID;
+pub type IID = GUID;
+pub type LPIID = *mut IID;
+pub use self::IsEqualGUID as IsEqualIID;
+pub type CLSID = GUID;
+pub type LPCLSID = *mut CLSID;
+pub use self::IsEqualGUID as IsEqualCLSID;
+pub type FMTID = GUID;
+pub type LPFMTID = *mut FMTID;
+pub use self::IsEqualGUID as IsEqualFMTID;
+pub type REFGUID = *const GUID;
+pub type REFIID = *const IID;
+pub type REFCLSID = *const IID;
+pub type REFFMTID = *const IID;
+DEFINE_GUID!{IID_NULL,
+    0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
+#[inline]
+pub fn IsEqualGUID(g1: &GUID, g2: &GUID) -> bool {
+    let a = unsafe { &*(g1 as *const _ as *const [u32; 4]) };
+    let b = unsafe { &*(g2 as *const _ as *const [u32; 4]) };
+    a[0] == b[0] && a[1] == b[1] && a[2] == b[2] && a[3] == b[3]
+}
-- 
cgit v1.2.3