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 ALWAYS GENERATED file contains the definitions for the interfaces
7 use shared::guiddef::GUID;
8 use shared::minwindef::{BYTE, USHORT};
9 use um::winnt::LPCWSTR;
10 STRUCT!{#[repr(packed)] struct SHITEMID {
11     cb: USHORT,
12     abID: [BYTE; 1],
13 }}
14 pub type LPSHITEMID = *mut SHITEMID;
15 pub type LPCSHITEMID = *const SHITEMID;
16 STRUCT!{#[repr(packed)] struct ITEMIDLIST {
17     mkid: SHITEMID,
18 }}
19 pub type ITEMIDLIST_RELATIVE = ITEMIDLIST;
20 pub type ITEMID_CHILD = ITEMIDLIST;
21 pub type ITEMIDLIST_ABSOLUTE = ITEMIDLIST;
22 pub type LPITEMIDLIST = *mut ITEMIDLIST;
23 pub type LPCITEMIDLIST = *const ITEMIDLIST;
24 pub type PIDLIST_ABSOLUTE = *mut ITEMIDLIST_ABSOLUTE;
25 pub type PCIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE;
26 pub type PCUIDLIST_ABSOLUTE = *const ITEMIDLIST_ABSOLUTE;
27 pub type PIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE;
28 pub type PCIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE;
29 pub type PUIDLIST_RELATIVE = *mut ITEMIDLIST_RELATIVE;
30 pub type PCUIDLIST_RELATIVE = *const ITEMIDLIST_RELATIVE;
31 pub type PITEMID_CHILD = *mut ITEMID_CHILD;
32 pub type PCITEMID_CHILD = *const ITEMID_CHILD;
33 pub type PUITEMID_CHILD = *mut ITEMID_CHILD;
34 pub type PCUITEMID_CHILD = *const ITEMID_CHILD;
35 pub type PCUITEMID_CHILD_ARRAY = *const PCUITEMID_CHILD;
36 pub type PCUIDLIST_RELATIVE_ARRAY = *const PCUIDLIST_RELATIVE;
37 pub type PCIDLIST_ABSOLUTE_ARRAY = *const PCIDLIST_ABSOLUTE;
38 pub type PCUIDLIST_ABSOLUTE_ARRAY = *const PCUIDLIST_ABSOLUTE;
39 STRUCT!{struct COMDLG_FILTERSPEC {
40     pszName: LPCWSTR,
41     pszSpec: LPCWSTR,
42 }}
43 pub type KNOWNFOLDERID = GUID;
44 pub type REFKNOWNFOLDERID = *const KNOWNFOLDERID;
45