1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_WINSXS
7 #define _INC_WINSXS
8 #if (_WIN32_WINNT >= 0x0600)
9 
10 typedef enum ASM_CMP_FLAGS {
11   ASM_CMPF_NAME               = 0x1,
12   ASM_CMPF_MAJOR_VERSION      = 0x2,
13   ASM_CMPF_MINOR_VERSION      = 0x4,
14   ASM_CMPF_BUILD_NUMBER       = 0x8,
15   ASM_CMPF_REVISION_NUMBER    = 0x10,
16   ASM_CMPF_PUBLIC_KEY_TOKEN   = 0x20,
17   ASM_CMPF_CULTURE            = 0x40,
18   ASM_CMPF_CUSTOM             = 0x80,
19   ASM_CMPF_ALL,
20   ASM_CMPF_DEFAULT            = 0x100
21 } ASM_CMP_FLAGS;
22 
23 typedef enum ASM_NAME {
24   ASM_NAME_PUBLIC_KEY,
25   ASM_NAME_PUBLIC_KEY_TOKEN,
26   ASM_NAME_HASH_VALUE,
27   ASM_NAME_NAME,
28   ASM_NAME_MAJOR_VERSION,
29   ASM_NAME_MINOR_VERSION,
30   ASM_NAME_BUILD_NUMBER,
31   ASM_NAME_REVISION_NUMBER,
32   ASM_NAME_CULTURE,
33   ASM_NAME_PROCESSOR_ID_ARRAY,
34   ASM_NAME_OSINFO_ARRAY,
35   ASM_NAME_HASH_ALGID,
36   ASM_NAME_ALIAS,
37   ASM_NAME_CODEBASE_URL,
38   ASM_NAME_CODEBASE_LASTMOD,
39   ASM_NAME_NULL_PUBLIC_KEY,
40   ASM_NAME_NULL_PUBLIC_KEY_TOKEN,
41   ASM_NAME_CUSTOM,
42   ASM_NAME_NULL_CUSTOM,
43   ASM_NAME_MVID,
44   ASM_NAME_MAX_PARAMS
45 } ASM_NAME;
46 
47 typedef enum _CREATE_ASM_NAME_OBJ_FLAGS {
48   CANOF_PARSE_DISPLAY_NAME   = 0x1,
49   CANOF_SET_DEFAULT_VALUES   = 0x2
50 } CREATE_ASM_NAME_OBJ_FLAGS;
51 
52 typedef struct _ASSEMBLY_INFO  {
53   ULONG          cbAssemblyInfo;
54   DWORD          dwAssemblyFlags;
55   ULARGE_INTEGER uliAssemblySizeInKB;
56   LPWSTR         pszCurrentAssemblyPathBuf;
57   ULONG          cchBuf;
58 } ASSEMBLY_INFO;
59 
60 typedef enum  {
61   ASM_DISPLAYF_VERSION                 = 0x1,
62   ASM_DISPLAYF_CULTURE                 = 0x2,
63   ASM_DISPLAYF_PUBLIC_KEY_TOKEN        = 0x4,
64   ASM_DISPLAYF_PUBLIC_KEY              = 0x8,
65   ASM_DISPLAYF_CUSTOM                  = 0x10,
66   ASM_DISPLAYF_PROCESSORARCHITECTURE   = 0x20,
67   ASM_DISPLAYF_LANGUAGEID              = 0x40
68 } ASM_DISPLAY_FLAGS;
69 
70 typedef struct _FUSION_INSTALL_REFERENCE  {
71   DWORD   cbSize;
72   DWORD   dwFlags;
73   GUID    guidScheme;
74   LPCWSTR szIdentifier;
75   LPCWSTR szNonCannonicalData;
76 } FUSION_INSTALL_REFERENCE , *LPFUSION_INSTALL_REFERENCE;
77 
78 /* in sxs.dll but not in any headers
79 HRESULT STDAPI CreateAssemblyCache(
80     IAssemblyCache **ppAsmCache,
81     DWORD dwReserved
82 );
83 
84 HRESULT STDAPI CreateAssemblyNameObject(
85     LPASSEMBLYNAME **ppAssemblyNameObj,
86     LPCWSTR szAssemblyName,
87     DWORD dwFlags,
88     LPVOID pvReserved
89 );
90 
91 */
92 
93 #endif /*(_WIN32_WINNT >= 0x0600)*/
94 #endif /*_INC_WINSXS*/
95