source: trunk/src/setupapi/setupx16.h@ 7029

Last change on this file since 7029 was 4989, checked in by sandervl, 25 years ago

wine port

File size: 6.5 KB
Line 
1#ifndef __SETUPX16_H
2#define __SETUPX16_H
3
4#include "wine/windef16.h"
5
6typedef UINT16 HINF16;
7typedef UINT16 LOGDISKID16;
8
9#define LINE_LEN 256
10
11/* error codes stuff */
12
13typedef 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
21enum _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
40enum _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
70typedef 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
159typedef 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
201typedef LRESULT (CALLBACK *VIFPROC)(LPVOID lpvObj, UINT uMsg, WPARAM wParam, LPARAM lParam, LPARAM lparamRef);
202
203extern void WINAPI GenFormStrWithoutPlaceHolders16(LPSTR,LPCSTR,HINF16);
204extern RETERR16 WINAPI IpOpen16(LPCSTR,HINF16 *);
205extern RETERR16 WINAPI IpClose16(HINF16);
206extern RETERR16 WINAPI CtlSetLdd16(LPLOGDISKDESC);
207extern RETERR16 WINAPI CtlGetLdd16(LPLOGDISKDESC);
208extern RETERR16 WINAPI CtlFindLdd16(LPLOGDISKDESC);
209extern RETERR16 WINAPI CtlAddLdd16(LPLOGDISKDESC);
210extern RETERR16 WINAPI CtlDelLdd16(LOGDISKID16);
211extern RETERR16 WINAPI GenInstall16(HINF16,LPCSTR,WORD);
212
213#endif /* __SETUPX16_H */
Note: See TracBrowser for help on using the repository browser.