1 // Licensed under the Apache License, Version 2.0
2 // <LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
3 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your option.
4 // All files in the project carrying such notice may not be copied, modified, or distributed
5 // except according to those terms.
6 //! This interface definition contains typedefs for Windows Runtime data types.
7 use ctypes::c_char;
8 use um::winnt::PVOID;
9 DECLARE_HANDLE!{HSTRING, HSTRING__}
10 #[cfg(target_pointer_width = "32")]
11 UNION!{union HSTRING_HEADER_Reserved {
12     [u32; 5],
13     Reserved1 Reserved1_mut: PVOID,
14     Reserved2 Reserved2_mut: [c_char; 20],
15 }}
16 #[cfg(target_pointer_width = "64")]
17 UNION!{union HSTRING_HEADER_Reserved {
18     [u64; 3],
19     Reserved1 Reserved1_mut: PVOID,
20     Reserved2 Reserved2_mut: [c_char; 24],
21 }}
22 STRUCT!{struct HSTRING_HEADER {
23     Reserved: HSTRING_HEADER_Reserved,
24 }}
25 DECLARE_HANDLE!{HSTRING_BUFFER, HSTRING_BUFFER__}
26