home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / smsinfo.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  10KB  |  314 lines

  1. // **************************************************************************
  2. //
  3. //  File: SMSINFO.H
  4. //
  5. //  Copyright (c) 1995 Microsoft Corp.
  6. //
  7. //  This is an auxiliary header file for the SMS API.
  8. //  It contains manifests used in scalars and filters.
  9. //
  10. //
  11. // **************************************************************************
  12.  
  13.  
  14. #ifndef _SMSINFO_H_
  15. #define _SMSINFO_H_
  16.  
  17.  
  18. // ==========================================================================
  19. //
  20. //  Package folders.
  21. //
  22. // ==========================================================================
  23.  
  24. //
  25. //  These defines are used in Share and Workstation permissions scalars.
  26. //  These scalars must be a combination of any (or none) of these defines.
  27. //
  28. #define PACKAGE_USER_READ           0x00000001
  29. #define PACKAGE_USER_WRITE          0x00000002
  30. #define PACKAGE_GUEST_READ          0x00000004
  31. #define PACKAGE_GUEST_WRITE         0x00000008
  32.  
  33.  
  34. //
  35. //  Values for scalar: 'Platforms'
  36. //  ----------------------------------------------
  37. // Both the Workstation Command Line folder and the Program Item folders
  38. // have a 'Platforms' scalar. The values are identical.
  39. //
  40. #define PLTFRM_WIN16                0x00000001
  41. #define PLTFRM_WIN32_X86            0x00000002
  42. #define PLTFRM_WIN32_MIPS           0x00000004
  43. #define PLTFRM_WIN32_ALPHA          0x00000008
  44. #define PLTFRM_DOS5                 0x00000010
  45. #define PLTFRM_DOS6                 0x00000020
  46. #define PLTFRM_MACINTOSH            0x00000040
  47. #define PLTFRM_WIN95                0x00000080
  48. #define PLTFRM_MSDOS                PLTFRM_DOS5|PLTFRM_DOS6
  49.  
  50.  
  51.  
  52.  
  53. // ==========================================================================
  54. //
  55. //  Program Item folders.
  56. //
  57. // ==========================================================================
  58.  
  59. //
  60. //  Values for scalar: 'Drive mode'.
  61. //  ----------------------------------------------
  62. // This scalar corresponds directly to the 'Drive Mode' group of radio
  63. // buttons in the 'Program Item Properties' dialogue (share package
  64. // job only). One of these must be selected.
  65. //
  66. #define PI_DRIVEMODE_UNC                1
  67. #define PI_DRIVEMODE_ANY_LETTER         2
  68. #define PI_DRIVEMODE_SPECIFIC_LETTER    3
  69.  
  70.  
  71.  
  72. // ==========================================================================
  73. //
  74. //  Workstation Command Line (WCL) folders.
  75. //
  76. // ==========================================================================
  77.  
  78.  
  79. //
  80. //  Scalar: Flags
  81. //  ----------------------------------------------
  82. // This scalar covers the 'Automated Command Line' and
  83. // 'System (Background) Task' check boxes in the Command Line
  84. // Properties dialogue.
  85. // Note that setting the flags to BACKGROUND_TASK also sets the
  86. // AUTOMATED_COMMAND_LINE bit.
  87. //
  88. #define WCL_AUTOMATED_COMMAND_LINE  0x01
  89. #define WCL_BACKGROUND_TASK         0x03
  90.  
  91.  
  92.  
  93. // ==========================================================================
  94. //
  95. //  Job folders.
  96. //
  97. //  General values that are common to all types of job folders
  98. //  ----------------------------------------------------------
  99. //
  100. // ==========================================================================
  101.  
  102.  
  103.  
  104. // ==========================================================================
  105. //
  106. //      Job types as strings.
  107. //
  108. // ==========================================================================
  109.  
  110. #define STR_JOBTYPE_INSTALL         "Install"
  111. #define STR_JOBTYPE_SERVER          "Server"
  112. #define STR_JOBTYPE_RMPKG           "Remove package"
  113. #define STR_JOBTYPE_SYSTEM          "System"
  114. #define STR_JOBTYPE_MINIJOB         "Minijob"
  115.  
  116.  
  117. // ==========================================================================
  118. //
  119. //      Job stati as strings.
  120. //
  121. // ==========================================================================
  122.  
  123. #define STR_JOB_PENDING             "Pending"
  124. #define STR_JOB_ACTIVE              "Active"
  125. #define STR_JOB_CANCELLED           "Cancelled"
  126. #define STR_JOB_COMPLETE            "Complete"
  127. #define STR_JOB_FAILED              "Failed"
  128. #define STR_JOB_ACTIVE_FAILED       "Active failed"
  129. #define STR_JOB_ACTIVE_UNKNOWN      "Unknown"
  130.  
  131.  
  132. //
  133. //  Values for scalar: 'Limit to sites'
  134. //  ----------------------------------------------
  135. // This can be either JOBTGT_SITE or JOBTGT_SITEGROUP. If either of
  136. // these are set then the scalar 'Include subsites' can be set.
  137. // If neither site nor sitegroup limiting is required then this scalar
  138. // should be set to JOBTGT_NOSITELIMIT (default).
  139. //
  140. #define JOBTGT_NOSITELIMIT          0
  141. #define JOBTGT_SITEGROUP            1
  142. #define JOBTGT_SITE                 2
  143.  
  144.  
  145. //
  146. //  Values for scalar: 'Include subsites'
  147. //  ----------------------------------------------
  148. // This can be set to either 1 or 0. If the 'Limit to sites'
  149. // scalar is not set then this scalar will be ignored.
  150. //
  151. #define JOBTGT_NOSUBSITES           0
  152. #define JOBTGT_INCLUDESUBSITES      1
  153.  
  154.  
  155. //
  156. //  Values for scalar: 'Job status'
  157. //  ----------------------------------------------
  158. // This scalar corresponds to the 'Overall Status' display in
  159. // in the 'Job Status' dialogue. It is a read-only scalar, the values
  160. // are presented here for clarity.
  161. //
  162. #define JOBSTAT_PENDING             1
  163. #define JOBSTAT_ACTIVE              2
  164. #define JOBSTAT_CANCELLED           3
  165. #define JOBSTAT_COMPLETE            4
  166. #define JOBSTAT_FAILED              5
  167. #define JOBSTAT_RETRYING            6
  168.  
  169.  
  170. //
  171. //  Values for scalar: 'Priority'
  172. //  ----------------------------------------------
  173. // This scalar corresponds to the 'Priority' edit control in the
  174. // 'Job Schedule' dialogue box.
  175. //
  176. #define JOBPRI_HIGH                 1
  177. #define JOBPRI_MEDIUM               2
  178. #define JOBPRI_LOW                  3
  179.  
  180. //
  181. //  Values for scalar: 'Repeat mode'
  182. //  ----------------------------------------------
  183. // This scalar corresponds to the 'Repeat' edit control in the
  184. // 'Job Schedule' dialogue box.
  185. //
  186. #define JOBRPT_NEVER                1
  187. #define JOBRPT_DAILY                2
  188. #define JOBRPT_WEEKLY               3
  189. #define JOBRPT_BIWEEKLY             4
  190. #define JOBRPT_MONTHLY              5
  191.  
  192.  
  193. //
  194. //  Values for scalar: 'Cancel mode'
  195. //  ----------------------------------------------
  196. // This scalar has no direct equivalent in any dialogue box. It corresponds
  197. // instead to the 'Cancel Job' menu selection in the Edit menu when the
  198. // focus is on the Jobs window.
  199. //
  200. #define JOBCANCEL_DONT_CANCEL       0
  201. #define JOBCANCEL_CANCEL            1
  202.  
  203. // ==========================================================================
  204. //
  205. //  Job folders: Remove package job.
  206. //  --------------------------------
  207. //
  208. // ==========================================================================
  209.  
  210. //
  211. //  Scalar: Package type
  212. //  ----------------------------------------------
  213. //  This scalar is either workstation, server, or both as below.
  214. //
  215. #define RMPKGJOB_PKGTYPE_WKSTA      0x01
  216. #define RMPKGJOB_PKGTYPE_SERVER     0x02
  217. #define RMPKGJOB_PKGTYPE_BOTH       (RMPKGJOB_PKGTYPE_WKSTA | RMPKGJOB_PKGTYPE_SERVER)
  218.  
  219. //
  220. //  Scalar: Job tasks
  221. //  ----------------------------------------------
  222. //
  223. #define RMPKGJOB_TASKS_RM_ALL       1
  224. #define RMPKGJOB_TASKS_RM_SELECTED  2
  225.  
  226. //  Setting 'Job tasks' to RMPKGJOB_TASKS_RM_SELECTED means that the user
  227. //  must set the 'Site group' scalar to a valid name.
  228.  
  229.  
  230. //  Setting the 'Job target' scalar to JOBTGT_SITEGROUP means that the user
  231. //  must provide, in the 'Site limit name' scalar, a name of a machine group.
  232. //  The JOBTGT_INCLUDESUBSITES flag is only valid if JOBTGT_SITEGROUP has also
  233. //  been specified.
  234.  
  235.  
  236.  
  237. // ==========================================================================
  238. //
  239. //  Job folders: Run command on workstation job.
  240. //  --------------------------------------------
  241. //
  242. // ==========================================================================
  243.  
  244. //
  245. //  Scalar: Job target
  246. //  ----------------------------------------------
  247. // Select from one of the following values. These correspond directly
  248. // to the radio buttons in the 'Job Target' group in the Job Details
  249. // dialogue for a run command on workstation job.
  250. //
  251. #define WKSTAJOB_TGT_QUERY          1
  252. #define WKSTAJOB_TGT_MACHGROUP      2
  253. #define WKSTAJOB_TGT_MACHPATH       3
  254.  
  255. //
  256. //  Scalar: Distribute phase
  257. //  ----------------------------------------------
  258. // This scalar corresponds to the 'Distribute Phase' group.
  259. // The value can be either, both, or neither of the following values,
  260. // ie 0, 1, 2, or 3.
  261. //
  262. #define WKSTAJOB_DIST_EXISTING      0x01
  263. #define WKSTAJOB_DIST_SPECIFIED     0x02
  264.  
  265. //
  266. //  Scalar: Send phase
  267. //  ----------------------------------------------
  268. // These values correspond to the 'Only if not previously sent' and
  269. // 'Even if previously sent' radio buttons in the SMS Admin for the
  270. // send phase group for a Run Command on Workstation job.
  271. //
  272. #define WKSTAJOB_SEND_IF_NOT_SENT   1
  273. #define WKSTAJOB_SEND_ALWAYS        2
  274.  
  275.  
  276.  
  277. // ==========================================================================
  278. //
  279. //  Job folders: Share package job.
  280. //  -------------------------------
  281. //
  282. // ==========================================================================
  283.  
  284.  
  285. //
  286. //  Scalar: Send phase
  287. //  ----------------------------------------------
  288. // These values correspond to the 'Only if not previously sent' and
  289. // 'Even if previously sent' radio buttons in the SMS Admin for the
  290. // send phase group for a Share package job.
  291. //
  292. #define SHAREJOB_SEND_IF_NOT_SENT   1
  293. #define SHAREJOB_SEND_ALWAYS        2
  294.  
  295.  
  296. //
  297. //  Scalar: Distribute phase
  298. //  ----------------------------------------------
  299. // This scalar corresponds to the 'Distribute Phase' group.
  300. // The value can be either, both, or neither of the following values,
  301. // ie 0, 1, 2, or 3.
  302. //
  303. #define SHAREJOB_DIST_EXISTING      0x01
  304. #define SHAREJOB_DIST_SPECIFIED     0x02
  305.  
  306.  
  307.  
  308.  
  309.  
  310. #endif  // _SMSINFO_H_
  311.  
  312. /* EOF: smsinfo.h */
  313.  
  314.