Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

148 lines
4.9 KiB

  1. /* File: cmnds.h */
  2. /**************************************************************************/
  3. /* Install: Commands Header File.
  4. /**************************************************************************/
  5. #include <comstf.h>
  6. /*** REVIEW: put the following in common lib? ***/
  7. /* for mkdir, rmdir */
  8. #include <direct.h>
  9. #include <errno.h>
  10. /* for chmod */
  11. #include <sys\types.h>
  12. #include <sys\stat.h>
  13. #include <io.h>
  14. /* for rename */
  15. #include <stdio.h>
  16. _dt_system(Install)
  17. #define szNull ((SZ)NULL)
  18. /* Returns the number of lines in the given section
  19. */
  20. #define CLinesFromInfSection(szSect) CKeysFromInfSection((szSect), fTrue)
  21. /* Renames a file
  22. */
  23. #define FRenameFile(szSrc, szDst) \
  24. ((rename((char *)(szSrc), (char *)(szDst)) == 0) ? fTrue : fFalse)
  25. /* Write protects a file
  26. */
  27. #define FWriteProtectFile(szPath) \
  28. ((chmod((char *)(szPath), S_IREAD) == 0) ? fTrue : fFalse)
  29. /* Creates a directory
  30. */
  31. #define FMkDir(szDir) \
  32. (((mkdir((char *)(szDir)) == 0) || (errno == EACCES)) ? fTrue : fFalse)
  33. /* Removes a directory
  34. */
  35. #define FRmDir(szDir) \
  36. (((rmdir((char *)(szDir)) == 0) || (errno == ENOENT)) ? fTrue : fFalse)
  37. /*** END REVIEW ***/
  38. /* CoMmand Options
  39. */
  40. _dt_private typedef BYTE CMO;
  41. #define cmoVital 1
  42. #define cmoOverwrite 2
  43. #define cmoAppend 4
  44. #define cmoPrepend 8
  45. #define cmoNone 0x00
  46. #define cmoAll 0xFF
  47. /* filecm.c */
  48. extern BOOL APIENTRY FCopyFilesInCopyList(HANDLE);
  49. extern BOOL APIENTRY FBackupSectionFiles(SZ, SZ);
  50. extern BOOL APIENTRY FBackupSectionKeyFile(SZ, SZ, SZ);
  51. extern BOOL APIENTRY FBackupNthSectionFile(SZ, USHORT, SZ);
  52. extern BOOL APIENTRY FRemoveSectionFiles(SZ, SZ);
  53. extern BOOL APIENTRY FRemoveSectionKeyFile(SZ, SZ, SZ);
  54. extern BOOL APIENTRY FRemoveNthSectionFile(SZ, USHORT, SZ);
  55. extern BOOL APIENTRY FCreateDir(SZ, CMO);
  56. extern BOOL APIENTRY FRemoveDir(SZ, CMO);
  57. /* inicm.c */
  58. extern BOOL APIENTRY FCreateIniSection(SZ, SZ, CMO);
  59. extern BOOL APIENTRY FReplaceIniSection(SZ, SZ, SZ, CMO);
  60. extern BOOL APIENTRY FRemoveIniSection(SZ, SZ, CMO);
  61. extern BOOL APIENTRY FCreateIniKeyNoValue(SZ, SZ, SZ, CMO);
  62. extern BOOL APIENTRY FCreateIniKeyValue(SZ, SZ, SZ, SZ, CMO);
  63. extern BOOL APIENTRY FReplaceIniKeyValue(SZ, SZ, SZ, SZ, CMO);
  64. extern BOOL APIENTRY FAppendIniKeyValue(SZ, SZ, SZ, SZ, CMO);
  65. extern BOOL APIENTRY FRemoveIniKey(SZ, SZ, SZ, CMO);
  66. extern BOOL APIENTRY FCreateSysIniKeyValue(SZ, SZ, SZ, SZ, CMO);
  67. extern BOOL APIENTRY FAddDos5Help(SZ, SZ, CMO);
  68. /* progcm.c */
  69. extern BOOL APIENTRY FCreateProgManGroup(SZ, SZ, CMO, BOOL);
  70. extern BOOL APIENTRY FRemoveProgManGroup(SZ, CMO, BOOL);
  71. extern BOOL APIENTRY FShowProgManGroup(SZ, SZ, CMO, BOOL);
  72. extern BOOL APIENTRY FCreateProgManItem(SZ, SZ, SZ, SZ, INT, CMO, BOOL);
  73. extern BOOL APIENTRY FRemoveProgManItem(SZ, SZ, CMO, BOOL);
  74. extern BOOL APIENTRY FInitProgManDde(HANDLE);
  75. extern BOOL APIENTRY FEndProgManDde(VOID);
  76. /* misccm.c */
  77. extern BOOL APIENTRY FSetEnvVariableValue(SZ, SZ, SZ, CMO);
  78. #ifdef UNUSED
  79. extern BOOL APIENTRY FAddMsgToSystemHelpFile(SZ, SZ, CMO);
  80. #endif /* UNUSED */
  81. extern BOOL APIENTRY FStampFile(SZ, SZ, SZ, WORD, WORD, SZ, WORD);
  82. extern BOOL APIENTRY FStampResource(SZ, SZ, SZ, WORD, WORD, SZ, CB); // 1632
  83. /* extprog.c */
  84. BOOL FLoadLibrary(SZ DiskName,SZ File,SZ INFVar);
  85. BOOL FFreeLibrary(SZ INFVar);
  86. BOOL FLibraryProcedure(SZ INFVar,SZ HandleVar,SZ EntryPoint,RGSZ Args);
  87. BOOL FRunProgram(SZ,SZ,SZ,SZ,RGSZ);
  88. BOOL FStartDetachedProcess(SZ,SZ,SZ,SZ,RGSZ);
  89. BOOL FInvokeApplet(SZ);
  90. /* event.c */
  91. BOOL FWaitForEvent(IN LPSTR InfVar,IN LPSTR EventName,IN DWORD Timeout);
  92. BOOL FSignalEvent(IN LPSTR InfVar,IN LPSTR EventName);
  93. BOOL FSleep(IN DWORD Milliseconds);
  94. /* registry.c */
  95. #define REGLASTERROR "RegLastError"
  96. BOOL FCreateRegKey( SZ szHandle, SZ szKeyName, UINT TitleIndex, SZ szClass,
  97. SZ Security, UINT Access, UINT Options, SZ szNewHandle,
  98. CMO cmo );
  99. BOOL FOpenRegKey( SZ szHandle, SZ szMachineName, SZ szKeyName, UINT Access, SZ szNewHandle, CMO cmo );
  100. BOOL FFlushRegKey( SZ szHandle, CMO cmo );
  101. BOOL FCloseRegKey( SZ szHandle, CMO cmo );
  102. BOOL FDeleteRegKey( SZ szHandle, SZ szKeyName, CMO cmo );
  103. BOOL FDeleteRegTree( SZ szHandle, SZ szKeyName, CMO cmo );
  104. BOOL FEnumRegKey( SZ szHandle, SZ szInfVar, CMO cmo );
  105. BOOL FSetRegValue( SZ szHandle, SZ szValueName, UINT TitleIndex, UINT ValueType,
  106. SZ szValueData, CMO cmo );
  107. BOOL FGetRegValue( SZ szHandle, SZ szValueName, SZ szInfVar, CMO cmo );
  108. BOOL FDeleteRegValue( SZ szHandle, SZ szValueName, CMO cmo );
  109. BOOL FEnumRegValue( SZ szHandle, SZ szInfVar, CMO cmo );
  110. /* bootini.c */
  111. BOOL FChangeBootIniTimeout(INT Timeout);
  112. /* restore.c */
  113. BOOL SaveRegistryHives(PCHAR Drive);
  114. BOOL GenerateRepairDisk(PCHAR Drive);