Windows2003-3790/inetcore/setup/iexpress/cabpack/pagefcns.h
2020-09-30 16:53:55 +02:00

168 lines
6.3 KiB
C

//***************************************************************************
//* Copyright (c) Microsoft Corporation 1995. All rights reserved. *
//***************************************************************************
//* *
//* PAGEFCNS.H - *
//* *
//***************************************************************************
//***************************************************************************
//* DEFINES *
//***************************************************************************
#define IDD_BACK 0x3023 // From commctrl defines...
#define IDD_NEXT 0x3024 // From commctrl defines...
#define MAX_SECLEN 80
#define MAX_TITLE 128 // Max size of Title
#define MAX_PROMPT 512 // Max size of prompt
#define MAX_CUSTOM 512 // Max size of Custom command
#define MAX_FINISHMSG 512 // Max size of Finished message
#define MAX_VERINFO 2048 // max size of version info
//***************************************************************************
//* Defines *
//***************************************************************************
#define achExtEXE ".EXE"
#define achExtBAT ".BAT"
#define achExtCOM ".COM"
#define achExtINF ".INF"
#define achQUANTUM "QUANTUM"
#define achMSZIP "MSZIP"
#define achLZX "LZX"
#define achNONE "NONE"
//***************************************************************************
//* TYPE DEFINITIONS *
//***************************************************************************
// This structure holds the list of files that are in the List View
// Control.
typedef struct _MyItem {
LPSTR aszCols[2]; // Filename and Path
BOOL fWroteOut;
struct _MyItem *Next;
} MYITEM, *PMYITEM;
// This structure (generally) holds all the information that will be
// saved in the CABPack Directive File.
typedef struct _CDF {
BOOL fSave;
BOOL fPrompt;
BOOL fLicense;
BOOL fFinishMsg;
BOOL fUseLFN;
CHAR achFilename[MAX_PATH];
CHAR achTitle[MAX_TITLE];
CHAR achPrompt[MAX_PROMPT];
CHAR achLicense[MAX_PATH];
CHAR achTarget[MAX_PATH];
CHAR achFinishMsg[MAX_FINISHMSG];
CHAR achTargetPath[MAX_PATH];
CHAR achTargetBase[MAX_PATH];
CHAR achDDF[MAX_PATH];
CHAR achCABPath[MAX_PATH];
CHAR achINF[MAX_PATH];
CHAR achRPT[MAX_PATH];
CHAR achPostInstCmd[MAX_CUSTOM];
CHAR achInstallCmd[MAX_PATH];
CHAR achOrigiPostInstCmd[MAX_CUSTOM];
CHAR achOrigiInstallCmd[MAX_PATH];
CHAR achStrings[MAX_SECLEN];
CHAR achLocale[MAX_SECLEN];
CHAR achSourceFile[MAX_SECLEN];
CHAR achVerInfo[MAX_SECLEN];
CHAR szCabLabel[MAX_PATH];
CHAR szAdmQCmd[MAX_PATH];
CHAR szOrigiAdmQCmd[MAX_PATH];
CHAR szUsrQCmd[MAX_PATH];
CHAR szOrigiUsrQCmd[MAX_PATH];
LPSTR lpszCookie;
LPCSTR szCompressionType;
UINT uCompressionLevel;
LPSTR szCAB;
UINT uPackPurpose;
UINT uShowWindow;
UINT uExtractOpt;
DWORD dwPlatform;
DWORD dwReboot;
DWORD cbFileListNum;
DWORD cbPackInstSpace;
PTARGETVERINFO pVerInfo;
PMYITEM pTop;
} CDF, *PCDF;
//***************************************************************************
//* FUNCTION PROTOTYPES *
//***************************************************************************
BOOL WelcomeInit( HWND, BOOL );
BOOL WelcomeCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL WelcomeOK( HWND, BOOL, UINT *, BOOL * );
BOOL ModifyInit( HWND, BOOL );
BOOL ModifyOK( HWND, BOOL, UINT *, BOOL * );
BOOL TitleInit( HWND, BOOL );
BOOL TitleOK( HWND, BOOL, UINT *, BOOL * );
BOOL PromptInit( HWND, BOOL );
BOOL PromptCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL PromptOK( HWND, BOOL, UINT *, BOOL * );
BOOL LicenseTxtInit( HWND, BOOL );
BOOL LicenseTxtCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL LicenseTxtOK( HWND, BOOL, UINT *, BOOL * );
BOOL FilesInit( HWND, BOOL );
BOOL FilesCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL FilesNotify( HWND, WPARAM, LPARAM );
BOOL FilesOK( HWND, BOOL, UINT *, BOOL * );
BOOL CommandInit( HWND, BOOL );
BOOL CommandCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL CommandOK( HWND, BOOL, UINT *, BOOL * );
BOOL ShowWindowInit( HWND, BOOL );
BOOL ShowWindowOK( HWND, BOOL, UINT *, BOOL * );
BOOL FinishMsgInit( HWND, BOOL );
BOOL FinishMsgCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL FinishMsgOK( HWND, BOOL, UINT *, BOOL * );
BOOL TargetInit( HWND, BOOL );
BOOL TargetCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL TargetOK( HWND, BOOL, UINT *, BOOL * );
BOOL TargetCABInit( HWND, BOOL );
BOOL TargetCABCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL TargetCABOK( HWND, BOOL, UINT *, BOOL * );
BOOL SaveInit( HWND, BOOL );
BOOL SaveCmd( HWND, UINT, BOOL *, UINT *, BOOL * );
BOOL SaveOK( HWND, BOOL, UINT *, BOOL * );
BOOL CreateInit( HWND, BOOL );
BOOL CreateOK( HWND, BOOL, UINT *, BOOL * );
BOOL PackPurposeInit( HWND, BOOL );
BOOL PackPurposeOK( HWND, BOOL, UINT *, BOOL * );
BOOL PackPurposeCmd( HWND hDlg, UINT uCtrlID, BOOL *pfGotoPage, UINT *puNextPage,BOOL *pfKeepHistory );
BOOL CabLabelInit( HWND, BOOL );
BOOL CabLabelOK( HWND, BOOL, UINT *, BOOL * );
BOOL CabLabelCmd( HWND hDlg, UINT uCtrlID, BOOL *pfGotoPage, UINT *puNextPage,BOOL *pfKeepHistory );
BOOL RebootInit( HWND, BOOL );
BOOL RebootOK( HWND, BOOL, UINT *, BOOL * );
BOOL RebootCmd( HWND hDlg, UINT uCtrlID, BOOL *pfGotoPage, UINT *puNextPage,BOOL *pfKeepHistory );
void RemoveBlanks( LPSTR lpData );
BOOL SetCurrSelect( HWND hDlg, UINT ctlId, LPSTR lpSelect );
BOOL CheckAdvBit( LPSTR szOrigiCommand );
void MyProcessLFNCmd( LPSTR szOrigiCmd, LPSTR szOutCmd );
void SysErrorMsg( HWND );