#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 */