| #ifndef __SETUPX16_H | |
| #define __SETUPX16_H | |
| #include "wine/windef16.h" | |
| typedef UINT16 HINF16; | |
| typedef UINT16 LOGDISKID16; | |
| #define LINE_LEN 256 | |
| /* error codes stuff */ | |
| typedef UINT16 RETERR16; | |
| #define OK 0 | |
| #define IP_ERROR (UINT16)100 | |
| #define TP_ERROR (UINT16)200 | |
| #define VCP_ERROR (UINT16)300 | |
| #define GEN_ERROR (UINT16)400 | |
| #define DI_ERROR (UINT16)500 | |
| enum _IP_ERR { | |
| ERR_IP_INVALID_FILENAME = IP_ERROR+1, | |
| ERR_IP_ALLOC_ERR, | |
| ERR_IP_INVALID_SECT_NAME, | |
| ERR_IP_OUT_OF_HANDLES, | |
| ERR_IP_INF_NOT_FOUND, | |
| ERR_IP_INVALID_INFFILE, | |
| ERR_IP_INVALID_HINF, | |
| ERR_IP_INVALID_FIELD, | |
| ERR_IP_SECT_NOT_FOUND, | |
| ERR_IP_END_OF_SECTION, | |
| ERR_IP_PROFILE_NOT_FOUND, | |
| ERR_IP_LINE_NOT_FOUND, | |
| ERR_IP_FILEREAD, | |
| ERR_IP_TOOMANYINFFILES, | |
| ERR_IP_INVALID_SAVERESTORE, | |
| ERR_IP_INVALID_INFTYPE | |
| }; | |
| enum _ERR_VCP { | |
| ERR_VCP_IOFAIL = VCP_ERROR+1, | |
| ERR_VCP_STRINGTOOLONG, | |
| ERR_VCP_NOMEM, | |
| ERR_VCP_QUEUEFULL, | |
| ERR_VCP_NOVHSTR, | |
| ERR_VCP_OVERFLOW, | |
| ERR_VCP_BADARG, | |
| ERR_VCP_UNINIT, | |
| ERR_VCP_NOTFOUND, | |
| ERR_VCP_BUSY, | |
| ERR_VCP_INTERRUPTED, | |
| ERR_VCP_BADDEST, | |
| ERR_VCP_SKIPPED, | |
| ERR_VCP_IO, | |
| ERR_VCP_LOCKED, | |
| ERR_VCP_WRONGDISK, | |
| ERR_VCP_CHANGEMODE, | |
| ERR_VCP_LDDINVALID, | |
| ERR_VCP_LDDFIND, | |
| ERR_VCP_LDDUNINIT, | |
| ERR_VCP_LDDPATH_INVALID, | |
| ERR_VCP_NOEXPANSION, | |
| ERR_VCP_NOTOPEN, | |
| ERR_VCP_NO_DIGITAL_SIGNATURE_CATALOG, | |
| ERR_VCP_NO_DIGITAL_SIGNATURE_FILE | |
| }; | |
| /****** logical disk management ******/ | |
| typedef struct _LOGDISKDESC_S { /* ldd */ | |
| WORD cbSize; /* struct size */ | |
| LOGDISKID16 ldid; /* logical disk ID */ | |
| LPSTR pszPath; /* path this descriptor points to */ | |
| LPSTR pszVolLabel; /* volume label of the disk related to it */ | |
| LPSTR pszDiskName; /* name of this disk */ | |
| WORD wVolTime; /* modification time of volume label */ | |
| WORD wVolDate; /* modification date */ | |
| DWORD dwSerNum; /* serial number of disk */ | |
| WORD wFlags; | |
| } LOGDISKDESC_S, *LPLOGDISKDESC; | |
| /** logical disk identifiers (LDID) **/ | |
| /* predefined LDIDs */ | |
| #define LDID_PREDEF_START 0x0001 | |
| #define LDID_PREDEF_END 0x7fff | |
| /* registry-assigned LDIDs */ | |
| #define LDID_VAR_START 0x7000 | |
| #define LDID_VAR_END 0x7fff | |
| /* dynamically assigned LDIDs */ | |
| #define LDID_ASSIGN_START 0x8000 | |
| #define LDID_ASSIGN_END 0xbfff | |
| #define LDID_NULL 0 | |
| #define LDID_ABSOLUTE ((UINT)-1) | |
| #define LDID_SRCPATH 1 /* setup source path */ | |
| #define LDID_SETUPTEMP 2 /* setup temp dir */ | |
| #define LDID_UNINSTALL 3 /* uninstall dir */ | |
| #define LDID_BACKUP 4 /* backup dir */ | |
| #define LDID_SETUPSCRATCH 5 /* setup scratch dir */ | |
| #define LDID_WIN 10 /* win dir */ | |
| #define LDID_SYS 11 /* win system dir */ | |
| #define LDID_IOS 12 /* win Iosubsys dir */ | |
| #define LDID_CMD 13 /* win command dir */ | |
| #define LDID_CPL 14 /* win control panel dir */ | |
| #define LDID_PRINT 15 /* win printer dir */ | |
| #define LDID_MAIL 16 /* win mail dir */ | |
| #define LDID_INF 17 /* win inf dir */ | |
| #define LDID_HELP 18 /* win help dir */ | |
| #define LDID_WINADMIN 19 /* admin dir */ | |
| #define LDID_FONTS 20 /* win fonts dir */ | |
| #define LDID_VIEWERS 21 /* win viewers dir */ | |
| #define LDID_VMM32 22 /* win VMM32 dir */ | |
| #define LDID_COLOR 23 /* win color mngment dir */ | |
| #define LDID_APPS 24 /* win apps dir */ | |
| #define LDID_SHARED 25 /* win shared dir */ | |
| #define LDID_WINBOOT 26 /* guaranteed win boot drive */ | |
| #define LDID_MACHINE 27 /* machine specific files */ | |
| #define LDID_HOST_WINBOOT 28 | |
| #define LDID_BOOT 30 /* boot drive root dir */ | |
| #define LDID_BOOT_HOST 31 /* boot drive host root dir */ | |
| #define LDID_OLD_WINBOOT 32 /* root subdir */ | |
| #define LDID_OLD_WIN 33 /* old windows dir */ | |
| /* flags for GenInstall() */ | |
| #define GENINSTALL_DO_FILES 1 | |
| #define GENINSTALL_DO_INI 2 | |
| #define GENINSTALL_DO_REG 4 | |
| #define GENINSTALL_DO_INI2REG 8 | |
| #define GENINSTALL_DO_CFGAUTO 16 | |
| #define GENINSTALL_DO_LOGCONFIG 32 | |
| #define GENINSTALL_DO_REGSRCPATH 64 | |
| #define GENINSTALL_DO_PERUSER 128 | |
| #define GEINISTALL_DO_INIREG 14 | |
| #define GENINSTALL_DO_ALL 255 | |
| /* | |
| * flags for InstallHinfSection() | |
| * 128 can be added, too. This means that the .inf file is provided by you | |
| * instead of being a 32 bit file (i.e. Windows .inf file). | |
| * In this case all files you install must be in the same dir | |
| * as your .inf file on the install disk. | |
| */ | |
| #define HOW_NEVER_REBOOT 0 | |
| #define HOW_ALWAYS_SILENT_REBOOT 1 | |
| #define HOW_ALWAYS_PROMPT_REBOOT 2 | |
| #define HOW_SILENT_REBOOT 3 | |
| #define HOW_PROMPT_REBOOT 4 | |
| /****** device installation stuff ******/ | |
| #define MAX_CLASS_NAME_LEN 32 | |
| #define MAX_DEVNODE_ID_LEN 256 | |
| #define MAX_GUID_STR 50 | |
| typedef struct _DEVICE_INFO | |
| { | |
| UINT16 cbSize; | |
| struct _DEVICE_INFO *lpNextDi; | |
| char szDescription[LINE_LEN]; | |
| DWORD dnDevnode; | |
| HKEY hRegKey; | |
| char szRegSubkey[MAX_DEVNODE_ID_LEN]; | |
| char szClassName[MAX_CLASS_NAME_LEN]; | |
| DWORD Flags; | |
| HWND16 hwndParent; | |
| /*LPDRIVER_NODE*/ LPVOID lpCompatDrvList; | |
| /*LPDRIVER_NODE*/ LPVOID lpClassDrvList; | |
| /*LPDRIVER_NODE*/ LPVOID lpSelectedDriver; | |
| ATOM atDriverPath; | |
| ATOM atTempInfFile; | |
| HINSTANCE16 hinstClassInstaller; | |
| HINSTANCE16 hinstClassPropProvidor; | |
| HINSTANCE16 hinstDevicePropProvidor; | |
| HINSTANCE16 hinstBasicPropProvidor; | |
| FARPROC16 fpClassInstaller; | |
| FARPROC16 fpClassEnumPropPages; | |
| FARPROC16 fpDeviceEnumPropPages; | |
| FARPROC16 fpEnumBasicProperties; | |
| DWORD dwSetupReserved; | |
| DWORD dwClassInstallReserved; | |
| /*GENCALLBACKPROC*/ LPVOID gicpGenInstallCallBack; | |
| LPARAM gicplParam; | |
| UINT16 InfType; | |
| HINSTANCE16 hinstPrivateProblemHandler; | |
| FARPROC16 fpPrivateProblemHandler; | |
| LPARAM lpClassInstallParams; | |
| struct _DEVICE_INFO *lpdiChildList; | |
| DWORD dwFlagsEx; | |
| /*LPDRIVER_INFO*/ LPVOID lpCompatDrvInfoList; | |
| /*LPDRIVER_INFO*/ LPVOID lpClassDrvInfoList; | |
| char szClassGUID[MAX_GUID_STR]; | |
| } DEVICE_INFO16, *LPDEVICE_INFO16, **LPLPDEVICE_INFO16; | |
| typedef LRESULT CALLBACK (*VIFPROC)(LPVOID lpvObj, UINT uMsg, WPARAM wParam, LPARAM lParam, LPARAM lparamRef); | |
| extern void WINAPI GenFormStrWithoutPlaceHolders16(LPSTR,LPCSTR,HINF16); | |
| extern RETERR16 WINAPI IpOpen16(LPCSTR,HINF16 *); | |
| extern RETERR16 WINAPI IpClose16(HINF16); | |
| extern RETERR16 WINAPI CtlSetLdd16(LPLOGDISKDESC); | |
| extern RETERR16 WINAPI CtlGetLdd16(LPLOGDISKDESC); | |
| extern RETERR16 WINAPI CtlFindLdd16(LPLOGDISKDESC); | |
| extern RETERR16 WINAPI CtlAddLdd16(LPLOGDISKDESC); | |
| extern RETERR16 WINAPI CtlDelLdd16(LOGDISKID16); | |
| extern RETERR16 WINAPI GenInstall16(HINF16,LPCSTR,WORD); | |
| #endif /* __SETUPX16_H */ |