dvideo.dll forgets to set the DDSD_CAPS flag, just assume it set.
[wine] / dlls / setupapi / setupx16.h
1 #ifndef __SETUPX16_H
2 #define __SETUPX16_H
3
4 #include "wine/windef16.h"
5
6 typedef UINT16 HINF16;
7 typedef UINT16 LOGDISKID16;
8
9 #define LINE_LEN        256
10
11 /* error codes stuff */
12
13 typedef UINT16 RETERR16;
14 #define OK              0
15 #define IP_ERROR        (UINT16)100
16 #define TP_ERROR        (UINT16)200
17 #define VCP_ERROR       (UINT16)300
18 #define GEN_ERROR       (UINT16)400
19 #define DI_ERROR        (UINT16)500
20
21 enum _IP_ERR {
22         ERR_IP_INVALID_FILENAME = IP_ERROR+1,
23         ERR_IP_ALLOC_ERR,
24         ERR_IP_INVALID_SECT_NAME,
25         ERR_IP_OUT_OF_HANDLES,
26         ERR_IP_INF_NOT_FOUND,
27         ERR_IP_INVALID_INFFILE,
28         ERR_IP_INVALID_HINF,
29         ERR_IP_INVALID_FIELD,
30         ERR_IP_SECT_NOT_FOUND,
31         ERR_IP_END_OF_SECTION,
32         ERR_IP_PROFILE_NOT_FOUND,
33         ERR_IP_LINE_NOT_FOUND,
34         ERR_IP_FILEREAD,
35         ERR_IP_TOOMANYINFFILES,
36         ERR_IP_INVALID_SAVERESTORE,
37         ERR_IP_INVALID_INFTYPE
38 };
39
40 enum _ERR_VCP {
41         ERR_VCP_IOFAIL = VCP_ERROR+1,
42         ERR_VCP_STRINGTOOLONG,
43         ERR_VCP_NOMEM,
44         ERR_VCP_QUEUEFULL,
45         ERR_VCP_NOVHSTR,
46         ERR_VCP_OVERFLOW,
47         ERR_VCP_BADARG,
48         ERR_VCP_UNINIT,
49         ERR_VCP_NOTFOUND,
50         ERR_VCP_BUSY,
51         ERR_VCP_INTERRUPTED,
52         ERR_VCP_BADDEST,
53         ERR_VCP_SKIPPED,
54         ERR_VCP_IO,
55         ERR_VCP_LOCKED,
56         ERR_VCP_WRONGDISK,
57         ERR_VCP_CHANGEMODE,
58         ERR_VCP_LDDINVALID,
59         ERR_VCP_LDDFIND,
60         ERR_VCP_LDDUNINIT,
61         ERR_VCP_LDDPATH_INVALID,
62         ERR_VCP_NOEXPANSION,
63         ERR_VCP_NOTOPEN,
64         ERR_VCP_NO_DIGITAL_SIGNATURE_CATALOG,
65         ERR_VCP_NO_DIGITAL_SIGNATURE_FILE
66 };
67
68 /****** logical disk management ******/
69
70 typedef struct _LOGDISKDESC_S { /* ldd */
71         WORD        cbSize;       /* struct size */
72         LOGDISKID16 ldid;         /* logical disk ID */
73         LPSTR       pszPath;      /* path this descriptor points to */
74         LPSTR       pszVolLabel;  /* volume label of the disk related to it */
75         LPSTR       pszDiskName;  /* name of this disk */
76         WORD        wVolTime;     /* modification time of volume label */
77         WORD        wVolDate;     /* modification date */
78         DWORD       dwSerNum;     /* serial number of disk */
79         WORD        wFlags;
80 } LOGDISKDESC_S, *LPLOGDISKDESC;
81
82 /** logical disk identifiers (LDID) **/
83
84 /* predefined LDIDs */
85 #define LDID_PREDEF_START       0x0001
86 #define LDID_PREDEF_END         0x7fff
87
88 /* registry-assigned LDIDs */
89 #define LDID_VAR_START          0x7000
90 #define LDID_VAR_END            0x7fff
91
92 /* dynamically assigned LDIDs */
93 #define LDID_ASSIGN_START       0x8000
94 #define LDID_ASSIGN_END         0xbfff
95
96 #define LDID_NULL               0
97 #define LDID_ABSOLUTE           ((UINT)-1)
98 #define LDID_SRCPATH            1               /* setup source path */
99 #define LDID_SETUPTEMP          2               /* setup temp dir */
100 #define LDID_UNINSTALL          3               /* uninstall dir */
101 #define LDID_BACKUP             4               /* backup dir */
102 #define LDID_SETUPSCRATCH       5               /* setup scratch dir */
103 #define LDID_WIN                10              /* win dir */
104 #define LDID_SYS                11              /* win system dir */
105 #define LDID_IOS                12              /* win Iosubsys dir */
106 #define LDID_CMD                13              /* win command dir */
107 #define LDID_CPL                14              /* win control panel dir */
108 #define LDID_PRINT              15              /* win printer dir */
109 #define LDID_MAIL               16              /* win mail dir */
110 #define LDID_INF                17              /* win inf dir */
111 #define LDID_HELP               18              /* win help dir */
112 #define LDID_WINADMIN           19              /* admin dir */
113 #define LDID_FONTS              20              /* win fonts dir */
114 #define LDID_VIEWERS            21              /* win viewers dir */
115 #define LDID_VMM32              22              /* win VMM32 dir */
116 #define LDID_COLOR              23              /* win color mngment dir */
117 #define LDID_APPS               24              /* win apps dir */
118 #define LDID_SHARED             25              /* win shared dir */
119 #define LDID_WINBOOT            26              /* guaranteed win boot drive */
120 #define LDID_MACHINE            27              /* machine specific files */
121 #define LDID_HOST_WINBOOT       28
122 #define LDID_BOOT               30              /* boot drive root dir */
123 #define LDID_BOOT_HOST          31              /* boot drive host root dir */
124 #define LDID_OLD_WINBOOT        32              /* root subdir */
125 #define LDID_OLD_WIN            33              /* old windows dir */
126
127 /* flags for GenInstall() */
128 #define GENINSTALL_DO_FILES             1
129 #define GENINSTALL_DO_INI               2
130 #define GENINSTALL_DO_REG               4
131 #define GENINSTALL_DO_INI2REG           8
132 #define GENINSTALL_DO_CFGAUTO           16
133 #define GENINSTALL_DO_LOGCONFIG         32
134 #define GENINSTALL_DO_REGSRCPATH        64
135 #define GENINSTALL_DO_PERUSER           128
136
137 #define GEINISTALL_DO_INIREG            14
138 #define GENINSTALL_DO_ALL               255
139
140 /*
141  * flags for InstallHinfSection()
142  * 128 can be added, too. This means that the .inf file is provided by you
143  * instead of being a 32 bit file (i.e. Windows .inf file).
144  * In this case all files you install must be in the same dir
145  * as your .inf file on the install disk.
146  */
147 #define HOW_NEVER_REBOOT                0
148 #define HOW_ALWAYS_SILENT_REBOOT        1
149 #define HOW_ALWAYS_PROMPT_REBOOT        2
150 #define HOW_SILENT_REBOOT               3
151 #define HOW_PROMPT_REBOOT               4
152
153 /****** device installation stuff ******/
154
155 #define MAX_CLASS_NAME_LEN      32
156 #define MAX_DEVNODE_ID_LEN      256
157 #define MAX_GUID_STR            50
158
159 typedef struct _DEVICE_INFO
160 {
161         UINT16              cbSize;
162         struct _DEVICE_INFO *lpNextDi;
163         char                szDescription[LINE_LEN];
164         DWORD               dnDevnode;
165         HKEY                hRegKey;
166         char                szRegSubkey[MAX_DEVNODE_ID_LEN];
167         char                szClassName[MAX_CLASS_NAME_LEN];
168         DWORD               Flags;
169         HWND16              hwndParent;
170         /*LPDRIVER_NODE*/ LPVOID      lpCompatDrvList;
171         /*LPDRIVER_NODE*/ LPVOID      lpClassDrvList;
172         /*LPDRIVER_NODE*/ LPVOID      lpSelectedDriver;
173         ATOM                atDriverPath;
174         ATOM                atTempInfFile;
175         HINSTANCE16         hinstClassInstaller;
176         HINSTANCE16         hinstClassPropProvidor;
177         HINSTANCE16         hinstDevicePropProvidor;
178         HINSTANCE16         hinstBasicPropProvidor;
179         FARPROC16           fpClassInstaller;
180         FARPROC16           fpClassEnumPropPages;
181         FARPROC16           fpDeviceEnumPropPages;
182         FARPROC16           fpEnumBasicProperties;
183         DWORD               dwSetupReserved;
184         DWORD               dwClassInstallReserved;
185         /*GENCALLBACKPROC*/ LPVOID     gicpGenInstallCallBack;
186
187         LPARAM              gicplParam;
188         UINT16              InfType;
189
190         HINSTANCE16         hinstPrivateProblemHandler;
191         FARPROC16           fpPrivateProblemHandler;
192         LPARAM              lpClassInstallParams;
193         struct _DEVICE_INFO *lpdiChildList;
194         DWORD               dwFlagsEx;
195         /*LPDRIVER_INFO*/ LPVOID       lpCompatDrvInfoList;
196         /*LPDRIVER_INFO*/ LPVOID      lpClassDrvInfoList;
197         char                szClassGUID[MAX_GUID_STR];
198 } DEVICE_INFO16, *LPDEVICE_INFO16, **LPLPDEVICE_INFO16;
199
200
201 typedef LRESULT (CALLBACK *VIFPROC)(LPVOID lpvObj, UINT uMsg, WPARAM wParam, LPARAM lParam, LPARAM lparamRef);
202
203 extern void WINAPI GenFormStrWithoutPlaceHolders16(LPSTR,LPCSTR,HINF16);
204 extern RETERR16 WINAPI IpOpen16(LPCSTR,HINF16 *);
205 extern RETERR16 WINAPI IpClose16(HINF16);
206 extern RETERR16 WINAPI CtlSetLdd16(LPLOGDISKDESC);
207 extern RETERR16 WINAPI CtlGetLdd16(LPLOGDISKDESC);
208 extern RETERR16 WINAPI CtlFindLdd16(LPLOGDISKDESC);
209 extern RETERR16 WINAPI CtlAddLdd16(LPLOGDISKDESC);
210 extern RETERR16 WINAPI CtlDelLdd16(LOGDISKID16);
211 extern RETERR16 WINAPI GenInstall16(HINF16,LPCSTR,WORD);
212
213 #endif /* __SETUPX16_H */