master
 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
10typedef 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
23typedef 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
47typedef 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
52typedef struct _ASSEMBLY_INFO  {
53  ULONG          cbAssemblyInfo;
54  DWORD          dwAssemblyFlags;
55  ULARGE_INTEGER uliAssemblySizeInKB;
56  LPWSTR         pszCurrentAssemblyPathBuf;
57  ULONG          cchBuf;
58} ASSEMBLY_INFO;
59
60typedef 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
70typedef 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
79HRESULT STDAPI CreateAssemblyCache(
80    IAssemblyCache **ppAsmCache,
81    DWORD dwReserved
82);
83
84HRESULT 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*/