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.

219 lines
3.9 KiB

  1. /*++
  2. Copyright (C) Microsoft Corporation, 1996 - 1999
  3. Module Name:
  4. CLI.H
  5. Abstract:
  6. This module defines the prototype for the Command Line Interface
  7. for HSM. These are interfaces the parse module of the CLI would
  8. call
  9. Author:
  10. Ravisankar Pudipeddi (ravisp) 2/23/00
  11. Environment:
  12. User Mode
  13. --*/
  14. #ifndef _RSCLI_
  15. #define _RSCLI_
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. typedef enum _HSM_JOB_TYPE {
  20. InvalidJobType = 0,
  21. CopyFiles,
  22. CreateFreeSpace,
  23. Validate,
  24. Unmanage
  25. } HSM_JOB_TYPE;
  26. typedef enum _HSM_JOB_FREQUENCY {
  27. InvalidJobFrequency = 0,
  28. Daily,
  29. Weekly,
  30. Monthly,
  31. Once,
  32. SystemStartup,
  33. Login,
  34. WhenIdle
  35. } HSM_JOB_FREQUENCY;
  36. typedef struct _HSM_JOB_SCHEDULE {
  37. HSM_JOB_FREQUENCY Frequency;
  38. union {
  39. struct {
  40. SYSTEMTIME Time;
  41. DWORD Occurrence;
  42. } Daily;
  43. struct {
  44. SYSTEMTIME Time;
  45. DWORD Occurrence;
  46. } Weekly;
  47. struct {
  48. SYSTEMTIME Time;
  49. } Monthly;
  50. struct {
  51. SYSTEMTIME Time;
  52. } Once;
  53. struct {
  54. } SystemStartup;
  55. struct {
  56. } Login;
  57. struct {
  58. DWORD Occurrence;
  59. } WhenIdle;
  60. } Parameters;
  61. } HSM_JOB_SCHEDULE, *PHSM_JOB_SCHEDULE;
  62. #define INVALID_DWORD_ARG ((DWORD) -1)
  63. #define INVALID_POINTER_ARG NULL
  64. #define CLI_ALL_STR L"*"
  65. #ifdef CLI_IMPL
  66. #define CLI_EXPORT __declspec(dllexport)
  67. #else
  68. #define CLI_EXPORT __declspec(dllimport)
  69. #endif
  70. CLI_EXPORT HRESULT
  71. AdminSet(
  72. IN DWORD RecallLimit,
  73. IN DWORD AdminExempt,
  74. IN DWORD MediaCopies,
  75. IN DWORD Concurrency,
  76. IN PVOID Schedule
  77. );
  78. CLI_EXPORT HRESULT
  79. AdminShow(
  80. IN BOOL RecallLimit,
  81. IN BOOL AdminExempt,
  82. IN BOOL MediaCopies,
  83. IN BOOL Concurrency,
  84. IN BOOL Schedule,
  85. IN BOOL General,
  86. IN BOOL Manageables,
  87. IN BOOL Managed,
  88. IN BOOL Media
  89. );
  90. CLI_EXPORT HRESULT
  91. AdminJob(
  92. IN BOOL Enable
  93. );
  94. CLI_EXPORT HRESULT
  95. VolumeManage(
  96. IN LPWSTR *Volumes,
  97. IN DWORD NumberOfVolumes,
  98. IN DWORD Dfs,
  99. IN DWORD Size,
  100. IN DWORD Access,
  101. IN LPWSTR RulePath,
  102. IN LPWSTR RuleFileSpec,
  103. IN BOOL Include,
  104. IN BOOL Recursive
  105. );
  106. CLI_EXPORT HRESULT
  107. VolumeUnmanage(
  108. IN LPWSTR *Volumes,
  109. IN DWORD NumberOfVolumes,
  110. IN BOOL Full
  111. );
  112. CLI_EXPORT HRESULT
  113. VolumeSet(
  114. IN LPWSTR *Volumes,
  115. IN DWORD NumberOfVolumes,
  116. IN DWORD Dfs,
  117. IN DWORD Size,
  118. IN DWORD Access,
  119. IN LPWSTR RulePath,
  120. IN LPWSTR RuleFileSpec,
  121. IN BOOL Include,
  122. IN BOOL Recursive
  123. );
  124. CLI_EXPORT HRESULT
  125. VolumeShow(
  126. IN LPWSTR *Volumes,
  127. IN DWORD NumberOfVolumes,
  128. IN BOOL Dfs,
  129. IN BOOL Size,
  130. IN BOOL Access,
  131. IN BOOL Rules,
  132. IN BOOL Statistics
  133. );
  134. CLI_EXPORT HRESULT
  135. VolumeDeleteRule(
  136. IN LPWSTR *Volumes,
  137. IN DWORD NumberOfVolumes,
  138. IN LPWSTR RulePath,
  139. IN LPWSTR RuleFileSpec
  140. );
  141. CLI_EXPORT HRESULT
  142. VolumeJob(
  143. IN LPWSTR *Volumes,
  144. IN DWORD NumberOfVolumes,
  145. IN HSM_JOB_TYPE Job,
  146. IN BOOL RunOrCancel,
  147. IN BOOL Synchronous
  148. );
  149. CLI_EXPORT HRESULT
  150. FileRecall(
  151. IN LPWSTR *FileSpecs,
  152. IN DWORD NumberOfFileSpecs
  153. );
  154. CLI_EXPORT HRESULT
  155. MediaSynchronize(
  156. IN DWORD CopySetNumber,
  157. IN BOOL Synchronous
  158. );
  159. CLI_EXPORT HRESULT
  160. MediaRecreateMaster(
  161. IN LPWSTR MediaName,
  162. IN DWORD CopySetNumber,
  163. IN BOOL Synchronous
  164. );
  165. CLI_EXPORT HRESULT
  166. MediaDelete(
  167. IN LPWSTR *MediaNames,
  168. IN DWORD NumberOfMedia,
  169. IN DWORD CopySetNumber
  170. );
  171. CLI_EXPORT HRESULT
  172. MediaShow(
  173. IN LPWSTR *MediaNames,
  174. IN DWORD NumberOfMedia,
  175. IN BOOL Name,
  176. IN BOOL Status,
  177. IN BOOL Capacity,
  178. IN BOOL FreeSpace,
  179. IN BOOL Version,
  180. IN BOOL Copies
  181. );
  182. #ifdef __cplusplus
  183. }
  184. #endif
  185. #endif // _RSCLI_