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.

697 lines
27 KiB

  1. //
  2. // common to COM object and Proxy code
  3. //
  4. // GENERAL COMMENT - do not change the order in any of these enum definitions!
  5. // pls consult ZviB b4 making any change here
  6. // This file is used in order to generate VB & JS constant files that
  7. // reside on the retail CD. Therefore, there are some conventions regarding
  8. // the comments inside it:
  9. //
  10. // 1. Only C-style comments (slash-asterisk) are included in the generated
  11. // files. In order to use comments that will not appear, use C++-style
  12. // ones.
  13. //
  14. // 2. The C-style comments included SHOULD END THE SAME LINE THEY STARTED!!!!
  15. // -----------------------------------------
  16. //
  17. // 3. The PERL scripts that do the conversion put the comments to appropriate
  18. // form of JS/VB comments.
  19. //
  20. // 4. IN ANY CASE, DO NOT USE BIT MASKS FOR ENUMS!!!
  21. // You can put the hex value of the bit mask and a C++ comment near it
  22. // stating why the value is indeed so.
  23. //
  24. // For any issues regarding these enforcements, contact t-nadavr.
  25. // These are retail CD comments
  26. /* To include this file in HTML documents use the following HTML statements: */
  27. /* using JavaScript: */
  28. /* <script Language="JScript" src="CometCfg.js"> */
  29. /* </script> */
  30. /* using VBScript: */
  31. /* <script Language="VBScript" src="CometCfg.vbs"> */
  32. /* </script> */
  33. /* */
  34. /* This file holds VBScript constants that are needed to compensate for the fact */
  35. /* that scripting engines cannot use the enumerated type information stored */
  36. /* in the COM objects' type library. */
  37. /* This file should be included in any VBScript scripts that use the Comet COM */
  38. /* objects. */
  39. /* */
  40. #ifndef __COMENUM_H_
  41. #define __COMENUM_H_
  42. //TEMP from \ui\rwsprop\clustobj.h
  43. typedef enum _RouteTypeEnum
  44. {
  45. prxRouteNone = -1,
  46. prxRouteDirect = 0,
  47. prxRouteServer = 1,
  48. prxRouteCluster = 2,
  49. prxRouteAutoDetect = 3,
  50. prxRouteSimpleServer = 4
  51. }RouteType;
  52. ///////////////////////////////////////////////
  53. // @enum PublishRouteType | type of action performed by a publishing rule.
  54. typedef enum _PublishRouteType
  55. {
  56. prxRouteDiscard = 0, // @emem Discard the coming requet.
  57. prxRouteRedirect // @emem Redirect the request to another computer.
  58. } PublishRouteType;
  59. ////////////////////////////////////////////////
  60. // @enum PublishProtocolRedirectionType | the protocol choosed when redirecting a web request.
  61. typedef enum _PublishProtocolRedirectionType
  62. {
  63. prxSameAsInbound = 0, // @emem The routed request is done using the same
  64. // protocol as that of the inbound request
  65. prxFTP, // @emem The routed request is done using the FTP protocol
  66. prxHTTP, // @emem The routed request is done using the HTTP protocol
  67. } PublishProtocolRedirectionType;
  68. /* Type _RouteRuleActionType from IRoutingRule */
  69. /////////////////////////////////////////////////
  70. // @enum RouteRuleActionType | proxy routing behavior
  71. typedef enum _RouteRuleActionType
  72. {
  73. prxRouteActionNone = 0, // @emem No action
  74. prxRouteActionDirect, // @emem Direct request to Internet.
  75. prxRouteActionUpstream, // @emem Send the request to an upstream Comet server or array.
  76. prxRouteActionAlternate // @emem Route to any other server.
  77. } RouteRuleActionType;
  78. /* Type _AuthType from ICredentials */
  79. ///////////////////////////////////////////////////
  80. // @enum AuthType | Authentication method used for inter server connections
  81. typedef enum _AuthType
  82. {
  83. prxUiAuthBasic = 0, // @emem Basic authentication
  84. prxUiAuthNtlm // @emem NT Challenge Response authentication
  85. } AuthType;
  86. // code from dfltdata.h
  87. typedef enum _DomainFiltersListType {
  88. prxDomainFilterDisabled, // 0
  89. prxDomainFilterDeny, // 1
  90. prxDomainFilterGrant // 2
  91. } DomainFiltersListType;
  92. // from alertdef.h
  93. typedef enum _AlertTypes
  94. {
  95. prxAlertTypePacketRate = 0,
  96. prxAlertTypeProtocolViolation,
  97. prxAlertTypeDiskFull,
  98. prxNumAlertTypes
  99. } AlertTypes;
  100. // from socksinf.h
  101. ///////////////////////////////////////////////////////
  102. // @enum SOCKS_PERMISSION_ACTION | Action taken in a socks rule
  103. typedef enum _SOCKS_PERMISSION_ACTION {
  104. prxSPermisNoAction = 0, // @emem No action
  105. prxSPermisAllow, // @emem allow the requested connection
  106. prxSPermisDeny, // @emem deny the requested connection
  107. } SOCKS_PERMISSION_ACTION;
  108. //////////////////////////////////////////////////////
  109. // @enum SOCKS_PORT_OPERATION | socks rule port criteria
  110. typedef enum _SOCKS_PORT_OPERATION {
  111. prxSocksOpNop = 0, // @emem No criteria
  112. prxSocksOpEq = 1, // @emem Actual port equal to specified port
  113. prxSocksOpNeq = 2, // @emem Actual port not equal to specified port.
  114. prxSocksOpGt = 3, // @emem Actual port greater than specified port
  115. prxSocksOpLt = 4, // @emem Actual port less than specified port
  116. prxSocksOpGe = 5, // @emem Actual port greater or equal to specified port
  117. prxSocksOpLe = 6 // @emem Actual port less or equal to specified port
  118. } SOCKS_PORT_OPERATION;
  119. // from clacctyp.h
  120. //////////////////////////////////////////////////////
  121. // @enum WspAccessByType | Winsock Proxy client way of identifying a server
  122. typedef enum _WspAccessByType
  123. {
  124. prxClientAccessSetByIp, // @emem Identify by IP
  125. prxClientAccessSetByName, // @emem Identify by name
  126. prxClientAccessSetManual // @emem Identification set manually in ini file
  127. } WspAccessByType;
  128. // used in client configuration
  129. /////////////////////////////////////////////////////
  130. // @enum DirectDestinationType | type of destination used in browser "bypass" configuration.
  131. typedef enum _DirectDestinationType
  132. {
  133. prxLocalServersDirectDestination, // @emem All local addresses
  134. prxIPAddressDirectDestination, // @emem A destination specified by IP
  135. prxDomainDirectDestination // A destination specified by a Domain name.
  136. } DirectDestinationType;
  137. typedef enum _BackupRouteType
  138. {
  139. prxBackupRouteDirectToInternet,
  140. prxBackupRouteViaProxy
  141. } BackupRouteType;
  142. // new def - will be used by logginp.cpp in ui code
  143. typedef enum _MSP_LOG_FORMAT {
  144. prxLogFormatVerbose=0,
  145. prxLogFormatRegular=1
  146. } MSP_LOG_FORMAT;
  147. //
  148. // Only in COM object code
  149. //
  150. /////////////////////////////////////////////////////
  151. //@enum SocksAddressType | the way an address of a socks connection is defined
  152. typedef enum _SocksAddressType {
  153. prxSocksAddressNone = 1, // @emem No address is defined
  154. prxSocksAddressIp, // @emem Address defined by IP
  155. prxSocksAddressDomain, // @emem Address defined by domain name
  156. prxSocksAddressAll // @emem All addresses are used.
  157. } SocksAddressType;
  158. // proxy code uses different ugly enum that encompasses the enable state
  159. typedef enum MSP_LOG_TYPE {
  160. prxLogTypeSqlLog=1,
  161. prxLogTypeFileLog
  162. } MSP_LOG_TYPE;
  163. // in proxy code this is computed on the fly from other data
  164. typedef enum _DomainFilterType {
  165. prxSingleComputer = 1,
  166. prxGroupOfComputers,
  167. prxDomain
  168. } DomainFilterType;
  169. ///////////////////////////////////////////////////////////
  170. // @enum CacheExpirationPolicy | defines how soon cached web pages expire.
  171. /* Type _CacheExpirationPolicy from IPrxCache */
  172. typedef enum _CacheExpirationPolicy
  173. {
  174. prxCachePolicyNotPredefined, // @emem Not defined
  175. prxCachePolicyEmphasizeMoreUpdates, // @emem Cached object exire more quickly.
  176. prxCachePolicyNoEmphasize, // @emem Avarege behavior
  177. prxCachePolicyEmphasizeMoreCacheHits // @emem Cached objects live longer.
  178. } CacheExpirationPolicy;
  179. /* Type _ActiveCachingPolicy from IPrxCache */
  180. /////////////////////////////////////////////////////////////
  181. // @enum ActiveCachingPolicy | behavior of the active caching mechanism
  182. typedef enum _ActiveCachingPolicy {
  183. prxActiveCachingEmphasizeOnFewerNetworkAccesses = 1, // @emem Less active caching is initiated
  184. prxActiveCachingNoEmphasize, // @emem Avarege behavior
  185. prxActiveCachingEmphasizeOnFasterUserResponse // @emem More content is activelly cached.
  186. } ActiveCachingPolicy;
  187. // enums for set sort by
  188. typedef enum _PublishSortCriteria {
  189. prxPublishSortCriteriaURL = 1,
  190. prxPublishSortCriteriaRequestPath
  191. } PublishSortCriteria;
  192. typedef enum _CacheFilterType {
  193. prxAlwaysCache = 1,
  194. prxNeverCache
  195. } CacheFilterType;
  196. typedef enum _CacheFilterSortCriteria {
  197. prxCacheFilterSortCriteriaURL = 1,
  198. prxCacheFilterSortCriteriaStatus
  199. } CacheFilterSortCriteria;
  200. /////////////////////////////////////////////////////////////
  201. // @enum PF_FILTER_TYPE | predefined static packet filters
  202. typedef enum _PF_FILTER_TYPE
  203. {
  204. prxCustomFilterType = 1, // @emem no predefined filter. See custom options
  205. prxDnsLookupPredefinedType, // @emem DNS lookup predefined static filter
  206. prxIcmpAllOutboundPredefinedType, // @emem ICMP outbound predefined static filter
  207. prxIcmpPingResponsePredefinedType, // @emem ICMP ping response predefined static filter
  208. prxIcmpPingQueryPredefinedType, // @emem ICMP ping query predefined static filter
  209. prxIcmpSrcQuenchPredefinedType, // @emem ICMP source quench predefined static filter
  210. prxIcmpTimeoutPredefinedType, // @emem ICMP timeout predefined static filter
  211. prxIcmpUnreachablePredefinedType, // @emem ICMP unreachable predefined static filter
  212. prxPptpCallPredefinedType, // @emem PPTP call predefined static filter
  213. prxPptpReceivePredefinedType, // @emem PPTP receive predefined static filter
  214. prxSmtpPredefinedType, // @emem SMTP receive predefined static filter
  215. prxPop3PredefinedType, // @emem POP3 predefined static filter
  216. prxIdentdPredefinedType, // @emem Identd predefined static filter
  217. prxHttpServerPredefinedType, // @emem HTTP server predefined static filter
  218. prxHttpsServerPredefinedType, // @emem HTTPS server predefined static filter
  219. prxNetbiosWinsClientPredefinedType, // @emem Netbios WINS predefined static filter
  220. prxNetbiosAllPredefinedType // @emem Netbios all predefined static filter
  221. } PF_FILTER_TYPE;
  222. #define MIN_FILTER_TYPE prxCustomFilterType
  223. #define MAX_FILTER_TYPE prxNetbiosAllPredefinedType
  224. //
  225. // type of protocol of the filter
  226. // Keep the following in sync with structure aProtocolIds in file pfbase.h
  227. // Keep the following in sync with the above (should never have to change).
  228. //
  229. //
  230. /////////////////////////////////////////////////////////////////////
  231. // @enum PF_PROTOCOL_TYPE | predefined static packet filters IP ports
  232. typedef enum _PF_PROTOCOL_TYPE
  233. {
  234. prxPfAnyProtocolIpIndex = 0, // @emem Any protocol
  235. prxPfIcmpProtocolIpIndex = 1, // @emem ICMP protocol
  236. prxPfTcpProtocolIpIndex = 6, // @emem TCP protocol
  237. prxPfUdpProtocolIpIndex = 17 // @emem UDP protocol
  238. }
  239. PF_PROTOCOL_TYPE;
  240. #define prxPfCustomProtocol 255
  241. #define MIN_PROTOCOL_TYPE prxPfAnyProtocolIpIndex
  242. #define MAX_PROTOCOL_TYPE prxPfUdpProtocolIpIndex
  243. ///////////////////////////////////////////////////////
  244. // @enum PF_DIRECTION_TYPE | protocol direction options
  245. typedef enum _PF_DIRECTION_TYPE
  246. {
  247. prxPfDirectionIndexBoth = 0xC0000000, // @emem both directions (in and out)
  248. prxPfDirectionIndexIn = 0x80000000, // @emem in direction
  249. prxPfDirectionIndexOut = 0x40000000, // @emem out direction
  250. prxPfDirectionIndexNone = 0 // @emem none - no direction defined
  251. }
  252. PF_DIRECTION_TYPE;
  253. #define MIN_DIRECTION_TYPE 1
  254. #define MAX_DIRECTION_TYPE 4
  255. /////////////////////////////////////////
  256. // @enum PF_PORT_TYPE | port type options
  257. typedef enum _PF_PORT_TYPE
  258. {
  259. prxPfAnyPort=1, // @emem Any port
  260. prxPfFixedPort, // @emem fixed port (followed by port number)
  261. prxPfDynamicPort // @emem dynamic port (1024-5000)
  262. }
  263. PF_PORT_TYPE;
  264. #define MIN_PORT_TYPE prxPfAnyPort
  265. #define MAX_PORT_TYPE prxPfDynamicPort
  266. ///////////////////////////////////////////////////////////////////
  267. // @enum PF_LOCAL_HOST_TYPE | local host (of packet filter) options
  268. typedef enum _PF_LOCAL_HOST_TYPE
  269. {
  270. prxPfDefaultProxyExternalIp = 1, // @emem no host specified (default external IP)
  271. prxPfSpecificProxyIp, // @emem specific proxy IP specified
  272. prxPfInternalComputer // @emem specific internal computer specified
  273. }
  274. PF_LOCAL_HOST_TYPE;
  275. ///////////////////////////////////////////////////////////////////
  276. // @enum PF_REMOTE_HOST_TYPE | remote host (of packet filter) options
  277. typedef enum _PF_REMOTE_HOST_TYPE
  278. {
  279. prxPfSingleHost = 1, // @emem specific single host specified
  280. prxPfAnyHost // @emem Any host possible
  281. }
  282. PF_REMOTE_HOST_TYPE;
  283. /////////////////////////////////////////////
  284. // @enum PF_SORT_ORDER_TYPE | PF sort options
  285. typedef enum _PF_SORT_ORDER_TYPE
  286. {
  287. prxPfSortByDirection = 1, // @emem sort by direction
  288. prxPfSortByProtocol, // @emem sort by protocol
  289. prxPfSortByLocalPort, // @emem sort by local port
  290. prxPfSortByRemotePort, // @emem sort by remote port
  291. prxPfSortByLocalAddress, // @emem sort by local address
  292. prxPfSortByRemoteAddress // @emem sort by remote address
  293. }
  294. PF_SORT_ORDER_TYPE;
  295. /////////////////////////////////////////////
  296. // @enum PF_FILTER_STATUS_TYPE | PF status options
  297. typedef enum _PF_FILTER_STATUS_TYPE
  298. {
  299. prxFilterNotChanged = 1, // @emem No changes happed in the filter
  300. prxFilterWasAdded, // @emem a Packet filter was added
  301. prxFilterWasRemoved, // @emem a Packet filter was removed
  302. prxFilterWasChanged // @emem a Packet filter was changed
  303. }
  304. PF_FILTER_STATUS_TYPE;
  305. ///////////////////////////////////////////////////////////////
  306. // @enum RuleActions | kinds of actions performed when a rule criteria is met.
  307. typedef enum _RuleActions
  308. {
  309. prxRuleActionPermit, // @emem Permit access to the requested web page
  310. prxRuleActionDeny, // @emem Deny access tothe requested web page
  311. prxRuleActionRedirect // @emem Redirect to a specific web page
  312. } RuleActions;
  313. ///////////////////////////////////////////////////////////////
  314. // @enum DestinationAddressType | type of a destination definition
  315. typedef enum _DestinationAddressType
  316. {
  317. prxDestinationTypeDomain, // @emem Destination defined by domain name
  318. prxDestinationTypeSingleIP, // @emem Destination defined by single IP
  319. prxDestinationTypeIPRange // @emem Destination defined by an IP range.
  320. } DestinationAddressType;
  321. ////////////////////////////////////////////////////////////////
  322. // @enum DestinationSelection | type of destinations reffered to in a rule.
  323. typedef enum _DestinationSelection
  324. {
  325. prxAllDestinations, // @emem All destinations
  326. prxAllInternalDestinations, // @emem All internal destinations
  327. prxAllExternalDestinations, // @emem All external destinations
  328. prxDestinationSet // @emem Destinations that are part of a specified set
  329. } DestinationSelection;
  330. //////////////////////////////////////////////////////////
  331. // @enum Days| the days of the week. Used in Schedule Templates
  332. typedef enum _Days
  333. {
  334. ALL_WEEK = -1, // @emem All days in week
  335. SUN, // @emem Sunday
  336. MON, // @emem Monday
  337. TUE, // @emem Tuesday
  338. WED, // @emem Wednesday
  339. THU, // @emem Thursday
  340. FRI, // @emem Friday
  341. SAT // @emem Saturday
  342. } ScheduleDays;
  343. //////////////////////////////////////////////////////////
  344. // @enum Hours | the hours of the day. Used in Schedule Templates
  345. typedef enum _Hours
  346. {
  347. ALL_DAY=-1, // @emem All hours of the day
  348. AM_0, // @emem Midnight
  349. AM_1, // @emem 1 AM
  350. AM_2, // @emem 2 AM
  351. AM_3, // @emem 3 AM
  352. AM_4, // @emem 4 AM
  353. AM_5, // @emem 5 AM
  354. AM_6, // @emem 6 AM
  355. AM_7, // @emem 7 AM
  356. AM_8, // @emem 8 AM
  357. AM_9, // @emem 9 AM
  358. AM_10, // @emem 10 AM
  359. AM_11, // @emem 11 AM
  360. AM_12, // @emem 12 AM
  361. PM_1, // @emem 1 PM
  362. PM_2, // @emem 2 PM
  363. PM_3, // @emem 3 PM
  364. PM_4, // @emem 4 PM
  365. PM_5, // @emem 5 PM
  366. PM_6, // @emem 6 PM
  367. PM_7, // @emem 7 PM
  368. PM_8, // @emem 8 PM
  369. PM_9, // @emem 9 PM
  370. PM_10, // @emem 10 PM
  371. PM_11 // @emem 11 PM
  372. } ScheduleHours;
  373. #define ENUM_INCR(type, x) x = ( (type) ( ((int)(x)) + 1 ) )
  374. //
  375. // Alert Enumerations.
  376. //
  377. ////////////////////////////////////////////////////////////
  378. // @enum ActionTypes | types of action that can be triggered by events
  379. typedef enum _Actions {
  380. alrtLogEvent = 0, //@emem Log event to System Event Log
  381. alrtCommand, //@emem Run command line
  382. alrtSendMail, //@emem Send Mail message
  383. alrtStopServices, //@emem Stop Comet services
  384. alrtRestartServices, //@emem Restart Comet services
  385. alrtPage, //@emem Notify Pager
  386. alrtMakeCall //@emem Make phone call using Web-based IVR
  387. } ActionTypes;
  388. #define alrtActionInvalid (-1)
  389. #define alrtMaxActionType (alrtMakeCall + 1)
  390. /////////////////////////////////////////////////////////
  391. // @enum Events | type of events handled by Comet.
  392. typedef enum _Events {
  393. alrtLowDiskSpace, // @emem Low disk space.
  394. alrtZeroDiskSpace, // @emem Out of disk space.
  395. alrtEventLogFailure, // @emem Failure to log an event.
  396. alrtConfigurationError, // @emem Configuration Error
  397. alrtRrasFailure, // @emem Failure of RRAS service.
  398. alrtDllLoadFailure, // @emem Failure to load a DLL.
  399. alrtDroppedPackets, // @emem Dropped Packets (PFD)
  400. alrtProtocolViolation, // @emem Protocol violations
  401. alrtProxyChaining, // @emem Proxy chaining failure
  402. alrtServiceShutdown, // @emem Service keep alive failure
  403. alrtRrasLineQuality, // @emem RRAS line quality threshold
  404. alrtCacheCleanupFrequency, // @emem Cache cleanup frequency
  405. alrtTapiReinit, // @emem TAPI reinitialized
  406. alrtDialOnDemandFailure, // @emem Dial On Demand failure (busy, no line)
  407. alrtIntraArrayCredentials, // @emem Intra array credentials incorrect
  408. alrtUpstreamChainingCredentials, // @emem Upstream chaining credentials incorrect
  409. alrtDialOnDemandCredentials, // @emem Dial On Demand credentials incorrect
  410. alrtOdbcCredentials, // @emem Log to ODBC credentials incorrect
  411. } EventTypes;
  412. #define alrtMaxEventType (alrtOdbcCrenetials + 1)
  413. /////////////////////////////////////////////////////////
  414. // @enum OperationModes | Alerting operation modes.
  415. typedef enum _OperationModes {
  416. alrtCountThreshold, //@emem events count before reraising alert
  417. alrtRateThreshold, //@emem minimal events per second rate for raising alert
  418. alrtIntervalThreshold, //@emem minimal interval in minutes before reraise
  419. } OperationModes;
  420. #define alrtMaxOperationModes (alrtIntervalThreshold + 1)
  421. ///////////////////////////////////////////////////////////
  422. // @enum Accounttypes | types of NT accounts
  423. typedef enum _AccountTypes
  424. {
  425. prxAccountTypeUser, // @emem A User.
  426. prxAccountTypeGroup, // @emem A group of users
  427. prxAccountTypeDomain, // @emem A domain of users.
  428. prxAccountTypeAlias, // @emem An alias.
  429. prxAccountTypeWellKnownGroup // @emem A predefined account such as "Everyone"
  430. } AccountTypes;
  431. ///////////////////////////////////////////////////////////
  432. // @enum IncludeStatus | defines whether an accouint is included or excluded
  433. // in the list of accounts to which a rule applies.
  434. typedef enum _IncludeStatus
  435. {
  436. prxInclude, // @emem Account is included.
  437. prxExclude // @emem Account is excluded.
  438. } IncludeStatusEnum;
  439. ///////////////////////////////////////////////////////////
  440. // @enum ConnectionProtocoltype | Type of IP protocol that consists a part
  441. // of a Winsock Proxy Protocol definition.
  442. typedef enum _ConnectionProtocolType
  443. {
  444. prxTCP, // @emem TCP-IP
  445. prxUDP // @emem UDP-IP
  446. } ConnectionProtocolType;
  447. ///////////////////////////////////////////////////////////
  448. // @enum Connectiondirectiontype | Type of connection that consists a part
  449. // of a Winsock Proxy Protocol definition.
  450. typedef enum _ConnectionDirectionType
  451. {
  452. prxInbound, // @emem Inbound connection.
  453. prxOutbound // @emem Outbound connection.
  454. } ConnectionDirectionType;
  455. ///////////////////////////////////////////////////////////
  456. // @enum CrmApplication | Type of application that uses a CRM
  457. // line.
  458. typedef enum _CrmApplication
  459. {
  460. CRM_APPLICATION_NONE =0, // @emem No application
  461. CRM_APPLICATION_RAS =1, // @emem RAS
  462. CRM_APPLICATION_FAX =2, // @emem Fax
  463. CRM_APPLICATION_WEBIVR =4, // @emem Web-based IVR
  464. CRM_APPLICATION_MP =8, // @emem Modem Share
  465. CRM_ALL_APPLICATIONS =0xF // @emem All the above values ORed
  466. } CrmApplication;
  467. ///////////////////////////////////////////////////////////////
  468. // @enum LoggingComponents
  469. typedef enum _LoggingComponents
  470. {
  471. logProxyWEB, // @emem The Web Proxy log.
  472. logProxyWSP, // @emem The Winsock Proxy log
  473. logProxySocks, // @emem The Socks Proxy log.
  474. logProxyPacketFilters, // @emem Packet filters log.
  475. logWEBIVR, // @emem The Web IVR log.
  476. logModemSharing, // @emem The Modem Sharing log.
  477. logCRMLines, // @emem The Telephone lines log.
  478. logFax, // @emem The Fax Server log.
  479. } LoggingComponents;
  480. ///////////////////////////////////////////////////////////////
  481. // @enum LogFileDirectoryType
  482. typedef enum _LogFileDirectoryType
  483. {
  484. logFullPath, // @emem The directory of the log files is given in full path.
  485. logRelativePath // @emem The directory of the log files is relative to Comet install directory.
  486. } LogFileDirectoryType;
  487. typedef enum _ProtocolSelectionTypeEnum
  488. {
  489. prxAllProtocols,
  490. prxAllDefinedProtocols,
  491. prxSpecifiedProtocols
  492. } ProtocolSelectionTypeEnum;
  493. //////////////////////////////////////////////////////
  494. // @enum AppliesToType | types of request origins for which a rule applies..
  495. typedef enum _AppliesToType
  496. {
  497. cometAppliesToAll, // @emem All requests regardless of origin
  498. cometAppliesToUsers, // @emem requests coming from specified users.
  499. cometAppliesToClientSets // @emem requests coming from specified machines.
  500. } AppliesToType;
  501. ///////////////////////////////////////////////////////
  502. // @enum CometServices | assigns numerical values for various
  503. // components of Comet.
  504. typedef enum _CometServices
  505. {
  506. cometWspSrvSvc = 1,//@emem The Winsock Proxy component
  507. cometW3Svc = 2,//@emem The web proxy component.
  508. cometAllServices = 0xFFFFFFFF // All the above values ORed
  509. } CometServices;
  510. ///////////////////////////////////////////////////////////
  511. // @enum DeviceType | The Fax Devices Types which are
  512. // Device, Provider [Fax Over IP], or other.
  513. typedef enum _DeviceType
  514. {
  515. DEVICE = 1, // TAPI Device
  516. PROVIDER, // Non TAPI Device FaxOver IP or Virtual.
  517. OTHER
  518. } DeviceType;
  519. ///////////////////////////////////////////////////////////
  520. // @enum RemoveOldType | This is an enumerator for Fax
  521. // different policies to remove old faxes from archive
  522. typedef enum _RemoveOldType
  523. {
  524. MAX_TIME_TO_KEEP = 1, // how long to keep
  525. MAX_FAX_SIZE, // maximal fax size allow to keep
  526. MAX_TOTAL_SIZE, // maximal total size of archive
  527. } RemoveOldType;
  528. ///////////////////////////////////////////////////////////
  529. // @enum LineStatus | Telephony line status.
  530. typedef enum _LineStatus
  531. {
  532. lsError = 0, // @emem Device is in error (the server may be down).
  533. lsIdle = 1, // @emem The device state is idle - there is no active call on it.
  534. lsInbound = 2, // @emem The device handles an inbound call.
  535. lsOutbound = 4 // @emem The device handles an outbound call.
  536. } LineStatus;
  537. ///////////////////////////////////////////////////////////
  538. // @enum ProtocolSelectiontype | type of protocols that a protocols rule
  539. // applies to
  540. typedef enum _ProtocolSelectionType
  541. {
  542. cometAllIpTraffic, // @emem All IP connections.
  543. cometAllProtocols, // @emem All the protocols defined by Comet.
  544. cometSpecifiedProtocols // @emem the protocols specified by the
  545. } ProtocolSelectionType; // SpecifiedProtocols property
  546. ///////////////////////////////////////////////////////////
  547. // @enum ProtocolRuleAction | the types of actions performed
  548. // by the default protocol rule,
  549. typedef enum _ProtocolRuleAction
  550. {
  551. cometActionAllow, // @emem allow all IP connection requests.
  552. cometActionDeny // @emem Deny all IP connection requests.
  553. } ProtocolRuleAction;
  554. ///////////////////////////////////////////////////////////
  555. // @enum INETLOG_TYPE | the types of logging methods
  556. typedef enum _LOG_TYPE {
  557. InetLogInvalidType = -1, //@emem Indicates invalid log type
  558. InetNoLog = 0, //@emem Logging disabled
  559. InetLogToFile, //@emem Logging to text log files
  560. InetLogToSql, //@emem Logging to ODBC log
  561. InetDisabledLogToFile, //@emem Logging disabled
  562. InetDisabledLogToSql //@emem Logging disabled
  563. } INETLOG_TYPE;
  564. ///////////////////////////////////////////////////////////
  565. // @enum INETLOG_PERIOD | these options identify logging periods for text files
  566. typedef enum _INETLOG_PERIOD {
  567. InetLogInvalidPeriod = -1, //@emem Indicates invalid logging period
  568. InetLogNoPeriod = 0, //@emem no logging period in use
  569. InetLogDaily, //@emem one file per day
  570. InetLogWeekly, //@emem one log file per week
  571. InetLogMonthly, //@emem one log file per month
  572. InetLogYearly //@emem one log file per year.
  573. } INETLOG_PERIOD;
  574. #endif