|
|
1.1 ! root 1: #ifdef WIN16 ! 2: typedef int INT; ! 3: typedef char CHAR; ! 4: #define APIENTRY FAR PASCAL ! 5: #endif ! 6: ! 7: extern INT hSetup; ! 8: ! 9: ! 10: #define cmoVital 1 ! 11: #define cmoCopy 2 ! 12: #define cmoUndo 4 ! 13: #define cmoRoot 8 ! 14: #define cmoDecompress 16 ! 15: #define cmoTimeStamp 32 ! 16: #define cmoReadOnly 64 ! 17: #define cmoBackup 128 ! 18: #define cmoForce 256 ! 19: #define cmoRemove 512 ! 20: #define cmoOverwrite 1024 ! 21: #define cmoAppend 2048 ! 22: #define cmoPrepend 4096 ! 23: #define cmoNone 0 ! 24: #define cmoAll 65535 ! 25: ! 26: #define femExists 0 ! 27: #define femRead 1 ! 28: #define femWrite 2 ! 29: #define femReadWrite 3 ! 30: ! 31: #define ynrcNo 0 ! 32: #define ynrcYes 1 ! 33: #define ynrcErr1 2 ! 34: #define ynrcErr2 3 ! 35: #define ynrcErr3 4 ! 36: #define ynrcErr4 5 ! 37: #define ynrcErr5 6 ! 38: #define ynrcErr6 7 ! 39: #define ynrcErr7 8 ! 40: #define ynrcErr8 9 ! 41: #define ynrcErr9 10 ! 42: ! 43: #define grcOkay 0 ! 44: #define grcNotOkay 1 ! 45: #define grcUserQuit 48 ! 46: ! 47: #define cbSymValMax 8192 ! 48: ! 49: #define STFERR 1024 ! 50: #define STFQUIT 1025 ! 51: ! 52: #define scmOff 0 ! 53: #define scmOnIgnore 1 ! 54: #define scmOnFatal 2 ! 55: ! 56: ! 57: // common ! 58: ! 59: extern INT APIENTRY FOpenInf(LPSTR szFile, INT fCheck, INT fCheckSyms); ! 60: extern INT APIENTRY FSetSilent(INT mode); ! 61: extern INT APIENTRY FSetBeepingMode(INT mode); ! 62: extern INT APIENTRY HShowWaitCursor(VOID); ! 63: extern INT APIENTRY FRestoreCursor(INT hPrev); ! 64: extern INT APIENTRY FOpenLogFile(LPSTR szFile, INT fAppend); ! 65: extern INT APIENTRY FCloseLogFile(VOID); ! 66: extern INT APIENTRY FWriteToLogFile(LPSTR sz, INT fRequire); ! 67: extern INT APIENTRY CbGetInfSectionKeyField(LPSTR szSect, LPSTR szKey, ! 68: INT iField, LPSTR szBuf, INT cbBuf); ! 69: extern INT APIENTRY FMakeListInfSectionField(LPSTR szSym, LPSTR szSect, ! 70: INT iField); ! 71: extern INT APIENTRY DoMsgBox(LPSTR lpText, LPSTR lpCaption, INT wType); ! 72: ! 73: #ifdef WIN16 ! 74: extern INT APIENTRY FValidFATDir(LPSTR szDir); ! 75: extern INT APIENTRY CchlFATValidSubPath(LPSTR szPath); ! 76: extern INT APIENTRY FValidFATPath(LPSTR szPath); ! 77: extern INT APIENTRY FMakeFATPathFromDirAndSubPath(LPSTR szDir, ! 78: LPSTR szSubPath, LPSTR szBuf, INT cchpBufMax); ! 79: extern INT APIENTRY FParseFATPathIntoPieces(LPSTR szPath, LPSTR szVol, ! 80: INT cbVol, LPSTR szDir, INT cbDir, LPSTR szFile, INT cbFile); ! 81: #elif defined(WIN32) ! 82: extern BOOL APIENTRY FValidDir(LPSTR szDir); ! 83: extern unsigned APIENTRY CchlValidSubPath(LPSTR szSubPath); ! 84: extern BOOL APIENTRY FValidPath(LPSTR szPath); ! 85: extern BOOL APIENTRY FMakePathFromDirAndSubPath(LPSTR szDir, LPSTR szSubPath, ! 86: LPSTR szBuffer, unsigned cchpBufMax); ! 87: extern BOOL APIENTRY FParsePathIntoPieces(LPSTR szPath, LPSTR szBufVol, unsigned cchpBufVolMax, ! 88: LPSTR szBufPath, unsigned cchpBufPathMax, LPSTR szBufFile, unsigned cchpBufFileMax); ! 89: ! 90: #endif ! 91: ! 92: ! 93: //shell ! 94: ! 95: extern INT APIENTRY FSetBitmap(LPSTR szDll, INT Bitmap); ! 96: extern INT APIENTRY FSetAbout(LPSTR sz1, LPSTR sz2); ! 97: extern INT APIENTRY FDoDialogExt(HWND hwnd, LPSTR szDll, INT Dlg, ! 98: LPSTR szDlgProc, LPSTR szHelpDll, INT HelpDlg, ! 99: LPSTR szHelpProc); ! 100: extern INT APIENTRY FKillNDialogs(INT n); ! 101: extern INT APIENTRY FSetSymbolValue(LPSTR szSymbol, LPSTR szValue); ! 102: extern INT APIENTRY FRemoveSymbol(LPSTR szSym); ! 103: extern INT APIENTRY CbGetSymbolValue(LPSTR szSymbol, LPSTR szValue, ! 104: INT Length); ! 105: extern INT APIENTRY UsGetListLength(LPSTR szSymbol); ! 106: extern INT APIENTRY CbGetListItem(LPSTR szListSymbol, INT n, ! 107: LPSTR szListItem, INT cbMax); ! 108: extern INT APIENTRY FAddListItem(LPSTR szListSymbol, LPSTR szListItem); ! 109: extern INT APIENTRY FReplaceListItem(LPSTR szListSymbol, INT n, ! 110: LPSTR szListItem); ! 111: extern INT APIENTRY FSetSymbolToListOfInfKeys(LPSTR szSym, LPSTR szSect, ! 112: INT fNulls); ! 113: ! 114: #if defined(WIN16) ! 115: extern INT APIENTRY InitializeFrame(LPSTR szCmdLine); ! 116: extern INT APIENTRY HwndFrame(VOID); ! 117: extern INT APIENTRY HinstFrame(VOID); ! 118: #elif defined(WIN32) ! 119: extern INT APIENTRY InitializeFrame(LPSTR szCmdLine); ! 120: extern HWND APIENTRY HwndFrame(VOID); ! 121: extern HANDLE APIENTRY HinstFrame(VOID); ! 122: #endif ! 123: extern VOID APIENTRY TerminateFrame(VOID); ! 124: ! 125: // ! 126: //install ! 127: // ! 128: extern VOID APIENTRY ProSetPos(INT x, INT y); ! 129: extern INT APIENTRY FCreateDir(LPSTR szDir, INT cmo); ! 130: extern INT APIENTRY FRemoveDir(LPSTR szDir, INT cmo); ! 131: extern INT APIENTRY FAddSectionFilesToCopyList(LPSTR szSect, LPSTR szSrc, ! 132: LPSTR szDest); ! 133: extern INT APIENTRY FAddSectionKeyFileToCopyList(LPSTR szSect, LPSTR szKey, ! 134: LPSTR szSrc, LPSTR szDest); ! 135: extern INT APIENTRY FAddSpecialFileToCopyList(LPSTR szSect, LPSTR szKey, ! 136: LPSTR szSrc, LPSTR szDest); ! 137: extern INT APIENTRY GrcCopyFilesInCopyList(HANDLE hInstance); ! 138: extern INT APIENTRY FRemoveIniSection(LPSTR szFile, LPSTR szSect, INT cmo); ! 139: extern INT APIENTRY FCreateIniKeyValue(LPSTR szFile, LPSTR szSect, ! 140: LPSTR szKey, LPSTR szValue, INT cmo); ! 141: extern INT APIENTRY FRemoveIniKey(LPSTR szFile, LPSTR szSect, LPSTR szKey, ! 142: INT cmo); ! 143: extern INT APIENTRY FCreateSysIniKeyValue(LPSTR szFile, LPSTR szSect, ! 144: LPSTR szKey, LPSTR szValue, INT cmo); ! 145: ! 146: extern INT APIENTRY FCreateProgManGroup(LPSTR szGroup, LPSTR szPath, ! 147: INT cmo); ! 148: extern INT APIENTRY FCreateProgManItem(LPSTR szGroup, LPSTR szItem, ! 149: LPSTR szCmd, INT cmo); ! 150: ! 151: #ifdef WIN32 ! 152: extern INT APIENTRY FCreateProgManGroupEx(LPSTR szGroup, BOOL fCommon, INT cmo); ! 153: extern INT APIENTRY FCreateProgManItemEx(LPSTR szGroup, BOOL fCommon, LPSTR szItem, ! 154: LPSTR szCmd, INT cmo); ! 155: #endif ! 156: ! 157: extern INT APIENTRY FStampResource(LPSTR szSect, LPSTR szKey, LPSTR szDst, ! 158: INT wResType, INT wResId, LPSTR szData, INT cbData); ! 159: extern INT APIENTRY FDumpCopyListToFile(LPSTR szFile); ! 160: extern VOID APIENTRY ResetCopyList(VOID); ! 161: extern LONG APIENTRY LcbGetCopyListCost(LPSTR szExtraList, LPSTR szCostList, ! 162: LPSTR szNeedList); ! 163: extern INT APIENTRY FAddDos5Help(LPSTR szProgName, LPSTR szProgHelp, ! 164: INT cmo); ! 165: extern INT APIENTRY FCopyOneFile(LPSTR szSrc, LPSTR szDest, INT cmo, ! 166: INT fAppend); ! 167: extern INT APIENTRY YnrcRemoveFile(LPSTR szFullPathSrc, INT cmo); ! 168: extern INT APIENTRY YnrcBackupFile(LPSTR szFullPath, LPSTR szBackup, ! 169: INT cmo); ! 170: extern INT APIENTRY FInitializeInstall(HANDLE hinst, HWND hwndFrame); ! 171: extern INT APIENTRY WFindFileUsingFileOpen(LPSTR szFile, LPSTR szBuf, ! 172: INT cbBuf); ! 173: extern INT APIENTRY FIsDirWritable(LPSTR szDir); ! 174: extern INT APIENTRY FIsFileWritable(LPSTR szFile); ! 175: extern INT APIENTRY FAddToBillboardList(LPSTR szDll, INT idDlg, ! 176: LPSTR szProc, LONG lTicks); ! 177: extern INT APIENTRY FClearBillboardList(VOID); ! 178: extern INT APIENTRY FSetRestartDir(LPSTR szDir); ! 179: extern INT APIENTRY FRestartListEmpty(VOID); ! 180: extern INT APIENTRY FExitExecRestart(VOID); ! 181: extern INT APIENTRY SetCopyMode(INT fMode); ! 182: extern INT APIENTRY GetCopyMode(VOID); ! 183: extern INT APIENTRY SetDecompMode(INT fMode); ! 184: extern INT APIENTRY GetDecompMode(VOID); ! 185: extern INT APIENTRY SetSizeCheckMode(INT scmMode); ! 186: extern INT APIENTRY FPrependToPath(LPSTR szSrc, LPSTR szDst, LPSTR szDir, ! 187: INT cmo); ! 188: ! 189: extern INT APIENTRY SetTimeValue(unsigned usHours, unsigned usMinutes, ! 190: unsigned Seconds); ! 191: extern VOID APIENTRY ForceRestartOn(VOID); ! 192: extern VOID APIENTRY TerminateInstall(VOID); ! 193: ! 194: ! 195: ! 196: //**************** Setup Basic Wrapper Declarations ********************* ! 197: ! 198: //shell ! 199: ! 200: extern INT InitSetupToolkit(LPSTR szCmdLine); ! 201: extern VOID EndSetupToolkit(VOID); ! 202: ! 203: extern VOID SetBitmap(LPSTR szDll, INT Bitmap); ! 204: extern LPSTR UIStartDlgExt(LPSTR szDll, INT Dlg, LPSTR szDlgProc, ! 205: LPSTR szHelpDll, INT HelpDlg, LPSTR szHelpProc, LPSTR szBfr, ! 206: INT cbBfrMax); ! 207: extern LPSTR UIStartDlg(LPSTR szDll, INT Dlg, LPSTR szDlgProc, ! 208: INT HelpDlg, LPSTR szHelpProc, LPSTR szBuf, INT cbBuf); ! 209: extern VOID UIPop(INT n); ! 210: extern VOID UIPopAll(VOID); ! 211: extern VOID SetTitle(LPSTR sz); ! 212: extern VOID ReadInfFile(LPSTR szFile); ! 213: extern VOID SetSymbolValue(LPSTR szSymbol, LPSTR szValue); ! 214: extern LPSTR GetSymbolValue(LPSTR szSymbol, LPSTR szBuf, INT cbBuf); ! 215: extern INT GetListLength(LPSTR szSymbol); ! 216: extern VOID MakeListFromSectionKeys(LPSTR szSymbol, LPSTR szSect); ! 217: extern LPSTR GetListItem(LPSTR szSymbol, INT n, LPSTR szBuf, ! 218: INT cbBuf); ! 219: extern VOID AddListItem(LPSTR szSymbol, LPSTR szItem); ! 220: extern VOID ReplaceListItem(LPSTR szSymbol, INT n, LPSTR szItem); ! 221: ! 222: extern INT InitFrame(LPSTR szCmdLine); ! 223: ! 224: extern INT ShowWaitCursor(VOID); ! 225: extern VOID RestoreCursor(INT hPrev); ! 226: ! 227: ! 228: extern VOID AddSectionFilesToCopyList(LPSTR szSect, LPSTR szSrc, ! 229: LPSTR szDest); ! 230: extern VOID AddSectionKeyFileToCopyList(LPSTR szSect, LPSTR szKey, ! 231: LPSTR szSrc, LPSTR szDest); ! 232: ! 233: extern VOID CopyFilesInCopyList(VOID); ! 234: extern VOID CreateIniKeyValue(LPSTR szFile, LPSTR szSect, ! 235: LPSTR szKey, LPSTR szValue, INT cmo); ! 236: ! 237: ! 238: extern VOID CreateProgmanGroup(LPSTR szGroup, LPSTR szPath, ! 239: INT cmo); ! 240: extern VOID CreateProgmanItem(LPSTR szGroup, LPSTR szItem, ! 241: LPSTR szCmd, LPSTR szOther, INT cmo); ! 242: ! 243: #ifdef WIN32 ! 244: extern VOID CreateProgmanGroupEx(LPSTR szGroup, BOOL fCommon, ! 245: INT cmo); ! 246: extern VOID CreateProgmanItemEx(LPSTR szGroup, BOOL fCommon, LPSTR szItem, ! 247: LPSTR szCmd, LPSTR szOther, INT cmo); ! 248: #endif ! 249: ! 250: extern VOID AddToBillboardList(LPSTR szDll, INT idDlg, LPSTR szProc, ! 251: LONG lTicks); ! 252: extern VOID SetCopyGaugePosition(INT x, INT y); ! 253: extern INT IsDirWritable(LPSTR szDir); ! 254: ! 255: extern LPSTR GetWindowsDir(LPSTR szBuf, INT cbBuf); ! 256: extern LPSTR GetWindowsSysDir(LPSTR szBuf, INT cbBuf); ! 257: ! 258: // NOTE: this routine must exist in code files supplied by app ! 259: extern VOID SetupError(INT); ! 260: ! 261: extern INT InitInstall(VOID); ! 262: ! 263: extern LPSTR SzCatStr(LPSTR sz1, LPSTR sz2); ! 264: extern LPSTR SzCat2Str(LPSTR sz1, LPSTR sz2, LPSTR sz3); ! 265: extern LPSTR SzCat3Str(LPSTR sz1, LPSTR sz2, LPSTR sz3, ! 266: LPSTR sz4); ! 267: ! 268: extern LPSTR GetSectionKeyFilename(LPSTR szSect, LPSTR szKey, ! 269: LPSTR szBuf, INT cbBuf); ! 270: extern VOID ShowProgmanGroup(LPSTR szGroup, INT Cmd, INT cmo); ! 271: extern INT APIENTRY FShowProgManGroup(LPSTR szGroup, LPSTR szCmd, INT cmo); ! 272: ! 273: #ifdef WIN32 ! 274: extern VOID ShowProgmanGroupEx(LPSTR szGroup, BOOL fCommon, INT Cmd, INT cmo); ! 275: extern INT APIENTRY FShowProgManGroupEx(LPSTR szGroup, BOOL fCommon, LPSTR szCmd, INT cmo); ! 276: #endif ! 277: ! 278: extern VOID ClearCopyList(VOID); ! 279: extern VOID MakeListFromSectionSize(LPSTR szSym, LPSTR szSect); ! 280: extern LONG GetSectionKeySize(LPSTR szSect, LPSTR szKey); ! 281: extern INT GetWindowsMajorVersion(VOID); ! 282: extern INT GetWindowsMinorVersion(VOID); ! 283: extern VOID MakeListFromSectionFilename(LPSTR szSym, LPSTR szSect); ! 284: extern VOID CreateDir(LPSTR szDir, INT cmo); ! 285: extern LPSTR GetSectionKeyDate(LPSTR szSect, LPSTR szKey, ! 286: LPSTR szBuf, INT cbBuf); ! 287: #ifndef WIN32 ! 288: extern VOID CopyFile(LPSTR szFullPathSrc, LPSTR szFullPathDst, ! 289: INT cmo, INT fAppend); ! 290: #endif ! 291: extern VOID RemoveFile(LPSTR szFullPathSrc, INT cmo); ! 292: extern VOID SetAbout(LPSTR szAbout1, LPSTR szAbout2); ! 293: ! 294: extern VOID RightTrim(LPSTR sz); ! 295: extern VOID RemoveSymbol(LPSTR szSym); ! 296: extern LONG GetCopyListCost(LPSTR szExtraList, LPSTR szCostList, ! 297: LPSTR szNeedList); ! 298: extern VOID StampResource(LPSTR szSect, LPSTR szKey, LPSTR szDst, ! 299: INT wResType, INT wResId, LPSTR szData, INT cbData); ! 300: extern BOOL DoesAnyFileNeedCopying(VOID); ! 301: ! 302: extern CHAR szCurDir[]; ! 303: ! 304: ! 305: #ifndef STF_LITE ! 306: extern VOID TerminateRegDb(VOID); ! 307: ! 308: ! 309: extern INT SetBeepingMode(INT mode); ! 310: extern INT SetSilentMode(INT mode); ! 311: ! 312: extern LPSTR GetSectionKeyVersion(LPSTR szSect, LPSTR szKey, ! 313: LPSTR szBuf, INT cbBuf); ! 314: ! 315: extern VOID MakeListFromSectionDate(LPSTR szSym, LPSTR szSect); ! 316: extern VOID MakeListFromSectionVersion(LPSTR szSym, LPSTR szSect); ! 317: ! 318: ! 319: //install ! 320: ! 321: extern VOID RemoveDir(LPSTR szDir, INT cmo); ! 322: extern VOID AddSpecialFileToCopyList(LPSTR szSect, LPSTR szKey, ! 323: LPSTR szSrc, LPSTR szDest); ! 324: extern VOID RemoveIniSection(LPSTR szFile, LPSTR szSect, INT cmo); ! 325: extern VOID RemoveIniKey(LPSTR szFile, LPSTR szSect, LPSTR szKey, ! 326: INT cmo); ! 327: extern VOID CreateSysIniKeyValue(LPSTR szFile, LPSTR szSect, ! 328: LPSTR szKey, LPSTR szValue, INT cmo); ! 329: extern VOID DumpCopyList(LPSTR szFile); ! 330: extern VOID AddDos5Help(LPSTR szProgName, LPSTR szProgHelp, ! 331: INT cmo); ! 332: extern VOID CopyAFile(LPSTR szFullPathSrc, LPSTR szFullPathDst, INT cmo, ! 333: INT fAppend); ! 334: ! 335: extern VOID BackupFile(LPSTR szFullPath, LPSTR szBackup); ! 336: extern VOID RenameFile(LPSTR szFullPath, LPSTR szBackup); ! 337: extern VOID AddBlankToBillboardList(LONG lTicks); ! 338: extern VOID ClearBillboardList(VOID); ! 339: extern VOID OpenLogFile(LPSTR szFile, INT fAppend); ! 340: extern VOID CloseLogFile(VOID); ! 341: extern VOID WriteToLogFile(LPSTR szStr); ! 342: extern VOID SetRestartDir(LPSTR szDir); ! 343: extern BOOL RestartListEmpty(VOID); ! 344: extern INT ExitExecRestart(VOID); ! 345: extern LPSTR FindFileUsingFileOpen(LPSTR szFile, LPSTR szBuf, ! 346: INT cbBuf); ! 347: extern BOOL IsFileWritable(LPSTR szFile); ! 348: extern LPSTR GetNthFieldFromIniString(LPSTR szLine, INT iField, ! 349: LPSTR szBuf, INT cbBuf); ! 350: extern VOID PrependToPath(LPSTR szSrc, LPSTR szDst, LPSTR szDir, ! 351: INT cmo); ! 352: ! 353: ! 354: // Error Handling ! 355: ! 356: ! 357: #ifdef DEBUG ! 358: ! 359: // Setup API Errors ! 360: #define saeFail 0 ! 361: #define saeInit 1 ! 362: #define saeNYI 3 ! 363: #define saeOvfl 4 ! 364: #define saeArg 5 //must be max sae value ! 365: ! 366: extern VOID StfApiErr(INT nMsg, LPSTR szApi, LPSTR szArgs); ! 367: extern VOID BadArgErr(INT nArg, LPSTR szApi, LPSTR szArgs); ! 368: ! 369: extern INT FValidDrive(LPSTR szDrive); ! 370: extern INT FValidInfSect(LPSTR szSect); ! 371: extern INT FValidIniFile(LPSTR szFile); ! 372: ! 373: #define FEmptySz(sz) ((sz)==NULL || *(sz)=='\0') ! 374: #define FValidSz(sz) ((sz) && *(sz)) ! 375: ! 376: #endif //DEBUG ! 377: ! 378: ! 379: // Windows system detect ! 380: ! 381: extern INT GetWindowsMode(VOID); ! 382: extern BOOL IsWindowsShared(VOID); ! 383: extern INT GetScreenWidth(VOID); ! 384: extern INT GetScreenHeight(VOID); ! 385: ! 386: extern INT InStr(INT cch, LPSTR sz1, LPSTR sz2); ! 387: ! 388: extern BOOL APIENTRY AssertSzUs(LPSTR, unsigned); ! 389: #ifdef DEBUG ! 390: #define Assert(f) ((f) ? (VOID)0 : (VOID)AssertSzUs(__FILE__,__LINE__)) ! 391: #else ! 392: #define Assert(f) ((VOID)0) ! 393: #endif ! 394: ! 395: typedef BYTE FAR * PB; ! 396: ! 397: extern PB APIENTRY PbSaveMemInf(VOID); ! 398: extern VOID APIENTRY RestoreMemInf(PB); ! 399: extern VOID APIENTRY FreeMemInf(PB); ! 400: ! 401: extern BOOL APIENTRY AddSrcFileWithAttribsToCopyList(LPSTR szSect, ! 402: LPSTR szKey, LPSTR szSrcPath, LPSTR szDstPath); ! 403: #endif /* !STF_LITE */ ! 404: ! 405: #ifndef WF_WINNT ! 406: #define WF_WINNT 0x4000 ! 407: #endif /* !WF_WINNT */ ! 408: ! 409: #ifndef WF_CPUR4000 ! 410: #define WF_CPUR4000 0x0100 ! 411: #endif /* !WF_CPUR4000 */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.