/*++ Copyright (c) Microsoft Corporation. All rights reserved. THIS CODE IS MADE AVAILABLE AS IS, WITHOUT WARRANTY OF ANY KIND. THE ENTIRE RISK OF THE USE OR THE RESULTS FROM THE USE OF THIS CODE REMAINS WITH THE USER. USE AND REDISTRIBUTION OF THIS CODE, WITH OR WITHOUT MODIFICATION, IS HEREBY PERMITTED. --*/ /************************************************************************** * * comenum.h -- Constants definitions for Microsoft ISA Server. * **************************************************************************/ #ifndef __COMENUM_H_ #define __COMENUM_H_ //////////////////////////////////////////////// // FpcPublishProtocolRedirectionType | Protocol used when redirecting a Web request. typedef enum FpcPublishProtocolRedirectionType { fpcHTTP, // Route request using the HTTP protocol fpcFTP, // Route request using the FTP protocol fpcSSL // Route request using the HTTP protocol over a secure channel } FpcPublishProtocolRedirectionType; //////////////////////////////////////////////// // FpcPublishedServerType | Protocol used when redirecting a Web request. typedef enum FpcPublishedServerType { fpcWebServerThruHTTP, // Route request using the HTTP protocol fpcWebServerThruSSL, // Route request using the HTTP protocol over a secure channel fpcWebServerThruBothHTTPAndSSL, // Route HTTP requests using the HTTP protocol and the HTTPS requests over secure channel - using the HTTP protocol over a secure channel fpcFTPServer // Route request using the FTP protocol } FpcPublishedServerType; //////////////////////////////////////////////// // FpcPrimaryRouteType | Primary routing behavior typedef enum FpcPrimaryRouteType { fpcPrimaryRouteDirect, // Route request to specified destination. fpcPrimaryRouteUpstream, // Route the request to an upstream ISA server or array. fpcPrimaryRouteAlternate, // Route to any other server. } FpcPrimaryRouteType; //////////////////////////////////////////////// // FpcBackupRouteActionType | Backup routing behavior typedef enum FpcBackupRouteType { fpcBackupRouteNone, // No action fpcBackupRouteDirect, // Route the request to Internet. fpcBackupRouteUpstream, // Route the request to an upstream ISA server or array. } FpcBackupRouteType; //////////////////////////////////////////////// // FpcAuthType | Authentication method used for inter-server connections typedef enum FpcAuthType { fpcUiAuthBasic, // Basic authentication fpcUiAuthIntegrated, // Integrated authentication } FpcAuthType; //////////////////////////////////////////////// // FpcFwForwardType | Firewall chaining typedef enum FpcFwForwardType { fpcPrimaryConnection, // Forward requests to primary connection fpcChaining // Forward requests to an upstream server } FpcFwForwardType; //////////////////////////////////////////////// // FpcClientBackupRouteType | typedef enum FpcClientBackupRouteType { fpcClientBackupRouteDirectToInternet, fpcClientBackupRouteViaProxy } FpcClientBackupRouteType; //////////////////////////////////////////////// // FpcActiveCachingPolicy | Active caching policy typedef enum FpcActiveCachingPolicy { fpcActiveCachingEmphasisOnFewerNetworkAccesses = 1, // Active caching is initiated relatively less frequently. fpcActiveCachingNoEmphasis, // Balanced active caching fpcActiveCachingEmphasisOnFasterUserResponse // Active caching is initiated relatively more frequently. } FpcActiveCachingPolicy; //////////////////////////////////////////////// // FpcIpOptionsAction | IP options Filtering mode typedef enum FpcIpOptionsAction { fpcAllowPacketsIpOptions, fpcDenyPacketsIpOptions , fpcDenyPacketsUnSelectedIpOptions, fpcDenyPacketsSelectedIpOptions } FpcIpOptionsAction; //////////////////////////////////////////////// // FpcPolicyRuleActions | Actions to perform when a rule criteria is met. typedef enum FpcPolicyRuleActions { fpcPolicyRuleActionAllow, // Allow access to the requeste fpcPolicyRuleActionDeny // Deny access to the requeste } FpcPolicyRuleActions; //////////////////////////////////////////////// // FpcPolicyRuleTypes | Type of policy rule typedef enum FpcPolicyRuleTypes { fpcPolicyRuleAccess, // access rule fpcPolicyRuleServerPublishing, // server publishing rule fpcPolicyRuleWebPublishing // Web publishing rule } FpcPolicyRuleTypes; //////////////////////////////////////////////// // FpcTimeScale | Time ranges used in cache interval units typedef enum FpcTimeScale { fpcTimeInSeconds = 1, // seconds fpcTimeInMinutes, // minutes fpcTimeInHours, // hours fpcTimeInDays, // days fpcTimeInWeeks // weeks } FpcTimeScale; //////////////////////////////////////////////// // FpcScheduleDays| Days of the week used in schedules typedef enum FpcScheduleDays { fpcALL_WEEK = -1, // All days in week fpcSUN, // fpcSUN fpcMON, // fpcMON fpcTUE, // fpcTUE fpcWED, // fpcWED fpcTHU, // fpcTHU fpcFRI, // fpcFRI fpcSAT // fpcSAT } FpcScheduleDays; //////////////////////////////////////////////// // FpcScheduleHours | Hours of the day used in schedules typedef enum FpcScheduleHours { fpcALL_DAY = -1, // All hours of the day fpcAM_12, // Midnight fpcAM_1, // 1 AM fpcAM_2, // 2 AM fpcAM_3, // 3 AM fpcAM_4, // 4 AM fpcAM_5, // 5 AM fpcAM_6, // 6 AM fpcAM_7, // 7 AM fpcAM_8, // 8 AM fpcAM_9, // 9 AM fpcAM_10, // 10 AM fpcAM_11, // 11 AM fpcPM_12, // 12 PM fpcPM_1, // 1 PM fpcPM_2, // 2 PM fpcPM_3, // 3 PM fpcPM_4, // 4 PM fpcPM_5, // 5 PM fpcPM_6, // 6 PM fpcPM_7, // 7 PM fpcPM_8, // 8 PM fpcPM_9, // 9 PM fpcPM_10, // 10 PM fpcPM_11 // 11 PM } FpcScheduleHours; //////////////////////////////////////////////// // FpcAlertActionTypes | Action that can be triggered by events typedef enum FpcAlertActionTypes { fpcAlertActionLogEvent, //Log event to System Event Log fpcAlertActionCommand, //Run command line fpcAlertActionSendMail, //Send message fpcAlertActionStopServices, //Stop ISA Server services fpcAlertActionStartServices //Start ISA Server services } FpcAlertActionTypes; //////////////////////////////////////////////// // Accounttypes | NT account types typedef enum FpcAccountTypes { fpcAccountTypeUser, // A User. fpcAccountTypeGroup, // A group of users fpcAccountTypeDomain, // A domain of users. fpcAccountTypeAlias, // An alias. fpcAccountTypeWellKnownGroup, // A predefined account (e.g., Everyone) fpcAccountTypeUnknown // An unknown account type (for example, when DC is unavailable) } FpcAccountTypes; //////////////////////////////////////////////// // IncludeStatus | Defines whether a refrence of the item is included or excluded in the list to which a rule applies. typedef enum FpcIncludeStatus { fpcInclude, // Ref is included. fpcExclude // Ref is excluded. } FpcIncludeStatus; //////////////////////////////////////////////// // ConnectionProtocoltype | Protocol definition: IP protocol type typedef enum FpcConnectionProtocolType { fpcRawProtocol0, fpcICMP, fpcIGMP, fpcGGP, fpcIP, fpcST, fpcTCP, //=6 fpcRawProtocol7, fpcRawProtocol8, fpcRawProtocol9, fpcRawProtocol10, fpcRawProtocol11, fpcRawProtocol12, fpcRawProtocol13, fpcRawProtocol14, fpcRawProtocol15, fpcRawProtocol16, fpcUDP, //=17 fpcRawProtocol18, fpcRawProtocol19, fpcRawProtocol20, fpcRawProtocol21, fpcRawProtocol22, fpcRawProtocol23, fpcRawProtocol24, fpcRawProtocol25, fpcRawProtocol26, fpcRawProtocol27, fpcRawProtocol28, fpcRawProtocol29, fpcRawProtocol30, fpcRawProtocol31, fpcRawProtocol32, fpcRawProtocol33, fpcRawProtocol34, fpcRawProtocol35, fpcRawProtocol36, fpcRawProtocol37, fpcRawProtocol38, fpcRawProtocol39, fpcRawProtocol40, fpcRawProtocol41, fpcRawProtocol42, fpcRawProtocol43, fpcRawProtocol44, fpcRawProtocol45, fpcRawProtocol46, fpcRawProtocol47, fpcRawProtocol48, fpcRawProtocol49, fpcRawProtocol50, fpcRawProtocol51, fpcRawProtocol52, fpcRawProtocol53, fpcRawProtocol54, fpcRawProtocol55, fpcRawProtocol56, fpcRawProtocol57, fpcRawProtocol58, fpcRawProtocol59, fpcRawProtocol60, fpcRawProtocol61, fpcRawProtocol62, fpcRawProtocol63, fpcRawProtocol64, fpcRawProtocol65, fpcRawProtocol66, fpcRawProtocol67, fpcRawProtocol68, fpcRawProtocol69, fpcRawProtocol70, fpcRawProtocol71, fpcRawProtocol72, fpcRawProtocol73, fpcRawProtocol74, fpcRawProtocol75, fpcRawProtocol76, fpcRawProtocol77, fpcRawProtocol78, fpcRawProtocol79, fpcRawProtocol80, fpcRawProtocol81, fpcRawProtocol82, fpcRawProtocol83, fpcRawProtocol84, fpcRawProtocol85, fpcRawProtocol86, fpcRawProtocol87, fpcRawProtocol88, fpcRawProtocol89, fpcRawProtocol90, fpcRawProtocol91, fpcRawProtocol92, fpcRawProtocol93, fpcRawProtocol94, fpcRawProtocol95, fpcRawProtocol96, fpcRawProtocol97, fpcRawProtocol98, fpcRawProtocol99, fpcRawProtocol100, fpcRawProtocol101, fpcRawProtocol102, fpcRawProtocol103, fpcRawProtocol104, fpcRawProtocol105, fpcRawProtocol106, fpcRawProtocol107, fpcRawProtocol108, fpcRawProtocol109, fpcRawProtocol110, fpcRawProtocol111, fpcRawProtocol112, fpcRawProtocol113, fpcRawProtocol114, fpcRawProtocol115, fpcRawProtocol116, fpcRawProtocol117, fpcRawProtocol118, fpcRawProtocol119, fpcRawProtocol120, fpcRawProtocol121, fpcRawProtocol122, fpcRawProtocol123, fpcRawProtocol124, fpcRawProtocol125, fpcRawProtocol126, fpcRawProtocol127, fpcRawProtocol128, fpcRawProtocol129, fpcRawProtocol130, fpcRawProtocol131, fpcRawProtocol132, fpcRawProtocol133, fpcRawProtocol134, fpcRawProtocol135, fpcRawProtocol136, fpcRawProtocol137, fpcRawProtocol138, fpcRawProtocol139, fpcRawProtocol140, fpcRawProtocol141, fpcRawProtocol142, fpcRawProtocol143, fpcRawProtocol144, fpcRawProtocol145, fpcRawProtocol146, fpcRawProtocol147, fpcRawProtocol148, fpcRawProtocol149, fpcRawProtocol150, fpcRawProtocol151, fpcRawProtocol152, fpcRawProtocol153, fpcRawProtocol154, fpcRawProtocol155, fpcRawProtocol156, fpcRawProtocol157, fpcRawProtocol158, fpcRawProtocol159, fpcRawProtocol160, fpcRawProtocol161, fpcRawProtocol162, fpcRawProtocol163, fpcRawProtocol164, fpcRawProtocol165, fpcRawProtocol166, fpcRawProtocol167, fpcRawProtocol168, fpcRawProtocol169, fpcRawProtocol170, fpcRawProtocol171, fpcRawProtocol172, fpcRawProtocol173, fpcRawProtocol174, fpcRawProtocol175, fpcRawProtocol176, fpcRawProtocol177, fpcRawProtocol178, fpcRawProtocol179, fpcRawProtocol180, fpcRawProtocol181, fpcRawProtocol182, fpcRawProtocol183, fpcRawProtocol184, fpcRawProtocol185, fpcRawProtocol186, fpcRawProtocol187, fpcRawProtocol188, fpcRawProtocol189, fpcRawProtocol190, fpcRawProtocol191, fpcRawProtocol192, fpcRawProtocol193, fpcRawProtocol194, fpcRawProtocol195, fpcRawProtocol196, fpcRawProtocol197, fpcRawProtocol198, fpcRawProtocol199, fpcRawProtocol200, fpcRawProtocol201, fpcRawProtocol202, fpcRawProtocol203, fpcRawProtocol204, fpcRawProtocol205, fpcRawProtocol206, fpcRawProtocol207, fpcRawProtocol208, fpcRawProtocol209, fpcRawProtocol210, fpcRawProtocol211, fpcRawProtocol212, fpcRawProtocol213, fpcRawProtocol214, fpcRawProtocol215, fpcRawProtocol216, fpcRawProtocol217, fpcRawProtocol218, fpcRawProtocol219, fpcRawProtocol220, fpcRawProtocol221, fpcRawProtocol222, fpcRawProtocol223, fpcRawProtocol224, fpcRawProtocol225, fpcRawProtocol226, fpcRawProtocol227, fpcRawProtocol228, fpcRawProtocol229, fpcRawProtocol230, fpcRawProtocol231, fpcRawProtocol232, fpcRawProtocol233, fpcRawProtocol234, fpcRawProtocol235, fpcRawProtocol236, fpcRawProtocol237, fpcRawProtocol238, fpcRawProtocol239, fpcRawProtocol240, fpcRawProtocol241, fpcRawProtocol242, fpcRawProtocol243, fpcRawProtocol244, fpcRawProtocol245, fpcRawProtocol246, fpcRawProtocol247, fpcRawProtocol248, fpcRawProtocol249, fpcRawProtocol250, fpcRawProtocol251, fpcRawProtocol252, fpcRawProtocol253, fpcRawProtocol254, } FpcConnectionProtocolType; //////////////////////////////////////////////// // Connectiondirectiontype | Protocol definition: connection type typedef enum FpcConnectionDirectionType { fpcInbound, // Inbound connection. fpcOutbound // Outbound connection. } FpcConnectionDirectionType; //////////////////////////////////////////////// // FpcUDPConnectionDirectionType | Protocol definition: UDP connection direction type typedef enum FpcUDPConnectionDirectionType { fpcReceiveOnly, // Direction: Receive Only fpcSendOnly, // Direction: Send Only fpcReceiveSend, // Direction: Recieve (and then send) fpcSendReceive // Direction: Send (and then receive) } FpcUDPConnectionDirectionType; //////////////////////////////////////////////// // FpcLoggingComponents typedef enum FpcLoggingComponents { fpcProxyWebLog = 0x00000001, // Web Proxy log. fpcProxyFwLog = 0x00000002, // Firewall log fpcProxyMailLog = 0x00000004 // Mail log. } FpcLoggingComponents; //////////////////////////////////////////////// // FpcLogFileDirectoryType typedef enum FpcLogFileDirectoryType { fpcFullPath, // The full path is specified for the log file directory. fpcRelativePath // The log file directory is specified relative to ISA Server computer's installation directory. } FpcLogFileDirectoryType; //////////////////////////////////////////////// // FpcServices | ISA Server components. typedef enum FpcServices { fpcNoService = 0x00000000, // empty service fpcFwSrvSvc = 0x00000001, // Firewall component fpcJobSchedSvc = 0x00000002, // Job Scheduler service fpcMSDESvc = 0x00000004, // MSDE service fpcAllServices = 0xFFFFFFFF // All the above components } FpcServices; //////////////////////////////////////////////// // ProtocolSelectiontype | Protocols to which a rule applies typedef enum FpcProtocolSelectionType { fpcAllIpTraffic, // All IP connections. fpcSpecifiedProtocols, // Specified protocols fpcAllExceptSpecifiedProtocols // All protocols except those specified } FpcProtocolSelectionType; // Specified Protocols property //////////////////////////////////////////////// // FpcLogType | typedef enum FpcLogType { fpcFile_EXT_Format, //Logging W3C extended format to text log files fpcFile_ISA_Format, //Logging ISA format to text log files fpcODBC, //Logging to ODBC log fpcMSDE //Logging to MSDE log } FpcLogType; //////////////////////////////////////////////// // ArrayType | typedef enum FpcArrayType { fpcTypeStandardEdition // stand-alone (registry based) array with single server in standard edition } FpcArrayType; //////////////////////////////////////////////// // FpcScheduledJobRunningPeriod | Scheduled jobs running periods typedef enum FpcScheduledTaskRunningPeriod { fpcRunOnce, //run a scheduled job only once fpcRunDaily, //run a scheduled job once per day fpcRunOnSpecifiedDaysOfWeek, //run a scheduled job on specified days of week fpcRunOnSpecifiedDayOfMonth //run a scheduled job on specified day of month } FpcScheduledTaskRunningPeriod; //////////////////////////////////////////////// // AppliesToContentMethod | Content to which rule is applied typedef enum FpcAppliesToContentMethodType { fpcAppliesToAllContent, //Rule applies to all types of content fpcAppliesToSpecifiedContent //Rule applies to specified content } FpcAppliesToContentMethodType; //////////////////////////////////////////////// // FpcCacheAction | Indicates when object should be returned from ISA Server cache // // typedef enum FpcCacheAction { fpcServeFromCacheIfValidObjectExists, // Use only valid objects. If no valid object, connect to the Internet. fpcServeFromCacheIfObjectExists, // Use any object from cache (even if invalid). If object does not exist, connect to the Internet. fpcServeFromCacheOnly // Use object from cache (even if invalid). If object does not exist, fail. } FpcCacheAction; //////////////////////////////////////////////// // FpcCacheContent | these options identify whether the response will be cached. typedef enum FpcCacheContent { fpcCacheAlways, // Always cache the response fpcCacheCacheableAndDynamic, // Cache the response only if cacheable or dynamic fpcCacheCacheable, // Cache the response only if cacheable fpcNeverCache // Never cache the response } FpcCacheContent; //////////////////////////////////////////////// // FpcFilterMode | Identify direction used in ISAPI filter typedef enum FpcFilterDirection { fpcFilterDirectionForward, //Filter applies to incoming packets fpcFilterDirectionReverse, //Filter applies to outgoing packets fpcFilterDirectionBoth //Filter applies to both incoming and outgoing packets } FpcFilterDirection; //////////////////////////////////////////////// // FpcServiceTypes | flags indicating which services can use a given authentication scheme typedef enum FpcServiceTypes { fpcServiceTypeUnknown = 0x00000000, // It is unknown which service can use the given scheme fpcServiceTypeWebProxyReverse = 0x00000001, // The Web Proxy service can use the given scheme for http requests in reverse mode fpcServiceTypeWebProxyForward = 0x00000002, // The Web Proxy service can use the given scheme for http requests in forward mode fpcServiceTypeWebProxyBoth = 0x00000003, // The Web Proxy service can use the given scheme for http requests } FpcServiceTypes; //////////////////////////////////////////////// // FpcAuthenticationSchemeProvides | flags indicating what a give authentication scheme provids typedef enum FpcAuthenticationSchemeProvides { fpcAuthenticationSchemeProvidesNothing = 0x00000000, // The authentication scheme provides nothing fpcAuthenticationSchemeProvidesNamespace = 0x00000001, // The authentication scheme provides a user namespace fpcAuthenticationSchemeProvidesMethod = 0x00000002, // The authentication scheme provides an authentication method fpcAuthenticationSchemeProvidesBoth = 0x00000003, // The authentication scheme provides both a user namespace and an authentication method } FpcAuthenticationSchemeProvides; //////////////////////////////////////////////// // FpcDaysOfWeek | typedef enum FpcDaysOfWeek { fpcNone = 0x00000000, fpcSundayBit = 0x00000001, fpcMondayBit = 0x00000002, fpcTuesdayBit = 0x00000004, fpcWednesdayBit = 0x00000008, fpcThursdayBit = 0x00000010, fpcFridayBit = 0x00000020, fpcSaturdayBit = 0x00000040 } FpcDaysOfWeek; //////////////////////////////////////////////// // FpcFetchURLFlags | these flags control FetchUrl behavior typedef enum FpcFetchURLFlags { fpcFetchTtlIfNone = 0x00000001, //TtlInMinutes parameter should be used only if the object does not contain an "Expires" or "Cache-Control: max-age" HTTP header. fpcFetchTtlOverride = 0x00000002, //TtlInMinutes parameter takes precedence over any HTTP headers in the object. fpcFetchSynchronous = 0x00000004, //Method will not return until the fetch is completed. fpcFetchNoArrayRouting = 0x00000008, //Fetch object from target server even if another array member is the prefered location. fpcFetchForceCache = 0x00000010, //Cache all objects even if object isn't normally cachable. fpcFetchDynamicCache = 0x00000020 //Cache dynamic objects even if object isn't normally cachable. } FpcFetchURLFlags; //////////////////////////////////////////////// // FpcSSLRequireSecureChannelMode | Web publishing rule: Specify if SSL connection is required typedef enum FpcSSLRequireSecureChannelMode { fpcSSLDontRequireSecureChannel, // Don't require secure channel fpcSSLRequireSecureChannel, // Require secure channel fpcSSLRequire128bitSecureChannel, // Require secure channel using 128 bit encryption fpcSSLRequireBoth // Require secure channel and 128 bit encryption } FpcSSLRequireSecureChannelMode; //////////////////////////////////////////////// // FpcComponents typedef enum FpcComponents { fpcNoComponents = 0x00000000, fpcNATComponent = 0x00000002, fpcWEBProxy = 0x00000004, fpcHTTPTransparent = 0x00000008, fpcGenericFwProtocols = 0x00000010, fpcFirewallExtensions = 0x00000020, fpcAllComponents = 0xFFFFFFFF } FpcComponents; //////////////////////////////////////////////// // FpcNameSystem typedef enum FpcNameSystem { fpcNameSystem_DNS, fpcNameSystem_WINS } FpcNameSystem; //////////////////////////////////////////////// // FpcFilterPriority typedef enum FpcFilterPriority { fpcFilterPriority_Low, fpcFilterPriority_Medium, fpcFilterPriority_High } FpcFilterPriority; //////////////////////////////////////////////// // FpcBrowserConfigScriptFlag typedef enum FpcBrowserConfigScriptFlag { fpcBrowserDefaultScript, fpcBrowserCustomScript } FpcBrowserConfigScriptFlag; //////////////////////////////////////////////// // FpcSizeUnits typedef enum FpcSizeUnits { fpcKB = 1, fpcMB, fpcGB } FpcSizeUnits; //////////////////////////////////////////////// // FpcDailyFrequency typedef enum FpcDailyFrequency { fpcOnce, fpcRecurring } FpcDailyFrequency; //////////////////////////////////////////////// // FpcNetworkTypes typedef enum FpcNetworkTypes { fpcStandardNetwork = 0, fpcVPNClients, fpcLocalHost, fpcDefaultExternal, fpcInternalNetwork, fpcQuarantinedVPNClients } FpcNetworkTypes; //////////////////////////////////////////////// // FpcNetworkRoutingTypes typedef enum FpcNetworkRoutingTypes { fpcRoute = 0, fpcNat } FpcNetworkRoutingTypes; //////////////////////////////////////////////// // FpcVpnQuarantineMode typedef enum FpcVpnQuarantineMode { fpcVpnQuarantineDisabled = 0, fpcVpnQuarantineEnabled, fpcVpnQuarantineEnabledWithRadiusPolicy } FpcVpnQuarantineMode; //////////////////////////////////////////////// // FpcVpnProtocol typedef enum FpcVpnProtocol { fpcVpnL2TP = 0, fpcVpnPPTP } FpcVpnProtocol; //////////////////////////////////////////////// // FpcVpnAuthenticationMethod typedef enum FpcVpnAuthenticationMethod { fpcVpnCertificate = 0, fpcVpnPresharedKey } FpcVpnAuthenticationMethod; //////////////////////////////////////////////// // FpcVpnEncryptionAlgorithm typedef enum FpcVpnEncryptionAlgorithm { fpcVpnDES = 0, fpcVpn3DES } FpcVpnEncryptionAlgorithm; //////////////////////////////////////////////// // FpcVpnIntegrityAlgorithm typedef enum FpcVpnIntegrityAlgorithm { fpcVpnSHA1 = 0, fpcVpnMD5 } FpcVpnIntegrityAlgorithm; //////////////////////////////////////////////// // FpcVpnDiffieHellmanGroup typedef enum FpcVpnDiffieHellmanGroup { fpcVpnDHGroup1 = 0, fpcVpnDHGroup2, fpcVpnDHGroup2048 } FpcVpnDiffieHellmanGroup; //////////////////////////////////////////////// // FpcNetworkConnectionType typedef enum FpcNetworkConnectionType { fpcAdapter = 0, fpcVPNConnection, fpcDialupConnection, fpcVirtualConnection, fpcIPSecConnection } FpcNetworkConnectionType; //////////////////////////////////////////////// // FpcNetworkSetType typedef enum FpcNetworkSetType { fpcSelectedNetworks = 0, fpcAllExceptSelectedNetworks } FpcNetworkSetType; //////////////////////////////////////////////// // FpcIPSelectionMethods typedef enum FpcIPSelectionMethods { fpcAllIPAddresses, fpcDefaultIPAddress, fpcSpecifiedIPAddress } FpcIPSelectionMethods; //////////////////////////////////////////////// // FpcExportImportOptionalData typedef enum FpcExportImportOptionalData { fpcExportImportPasswords = 0x00000001, fpcExportImportUserPermissions = 0x00000002, fpcExportImportServerSpecific = 0x00000004, } FpcExportImportOptionalData; //////////////////////////////////////////////// // FpcReportJobPeriodType typedef enum FpcReportJobPeriodType { fpcReportJobPeriodDay, fpcReportJobPeriodWeek, fpcReportJobPeriodMonth, fpcReportJobPeriodYear, fpcReportJobPeriodCustom } FpcReportJobPeriodType; //////////////////////////////////////////////// // FpcReportJobCategory typedef enum FpcReportJobCategory { fpcReportJobCategorySummaryBit = 0x00000001, fpcReportJobCategoryWebUsageBit = 0x00000002, fpcReportJobCategoryApplicationUsageBit = 0x00000004, fpcReportJobCategoryTrafficAndUtilizationBit = 0x00000008, fpcReportJobCategorySecurityBit = 0x00000010 } FpcReportJobCategory; //////////////////////////////////////////////// // FpcAlertCategory typedef enum FpcAlertCategory { fpcSecurityAlerts = 0, fpcCacheAlerts, fpcRoutingAlerts, fpcFwServiceAlerts, fpcOtherAlerts } FpcAlertCategory; //////////////////////////////////////////////// // FpcAlertSeverity typedef enum FpcAlertSeverity { fpcAlertError = 0, fpcAlertWarning, fpcAlertInformation } FpcAlertSeverity; //////////////////////////////////////////////// // FpcReportStatus typedef enum FpcReportStatus { fpcReportFailed = 0, fpcReportSucceeded, fpcReportRunning } FpcReportStatus; //////////////////////////////////////////////// // FpcReportSortOrder typedef enum FpcReportSortOrder { fpcRequestsSortOrder, fpcUsersSortOrder, fpcBytesInSortOrder, fpcBytesOutSortOrder, fpcTotalBytesSortOrder } FpcReportSortOrder; //////////////////////////////////////////////// // FpcTopSitesReportSortOrder typedef enum FpcTopSitesReportSortOrder { fpcTopSitesRequests = fpcRequestsSortOrder, fpcTopSitesUsers = fpcUsersSortOrder, fpcTopSitesBytesIn = fpcBytesInSortOrder, fpcTopSitesBytesOut = fpcBytesOutSortOrder, fpcTopSitesTotalBytes = fpcTotalBytesSortOrder } FpcTopSitesReportSortOrder; //////////////////////////////////////////////// // FpcTopSitesReportSortOrder typedef enum FpcTopUsersReportSortOrder { fpcTopUsersRequests = fpcRequestsSortOrder, fpcTopUsersBytesIn = fpcBytesInSortOrder, fpcTopUsersBytesOut = fpcBytesOutSortOrder, fpcTopUsersTotalBytes = fpcTotalBytesSortOrder } FpcTopUsersReportSortOrder; //////////////////////////////////////////////// // FpcTopWebProtocolReportSortOrder typedef enum FpcTopWebProtocolReportSortOrder { fpcWebProtocolRequests = fpcRequestsSortOrder, fpcWebProtocolUsers = fpcUsersSortOrder, fpcWebProtocolBytesIn = fpcBytesInSortOrder, fpcWebProtocolBytesOut = fpcBytesOutSortOrder, fpcWebProtocolTotalBytes = fpcTotalBytesSortOrder } FpcTopWebProtocolReportSortOrder; //////////////////////////////////////////////// // FpcTopAppProtocolReportSortOrder typedef enum FpcTopAppProtocolReportSortOrder { fpcAppProtocolRequests = fpcRequestsSortOrder, fpcAppProtocolUsers = fpcUsersSortOrder } FpcTopAppProtocolReportSortOrder; //////////////////////////////////////////////// // FpcCacheReportSortOrder typedef enum FpcCacheReportSortOrder { fpcCacheRequests = fpcRequestsSortOrder, fpcCacheBytes = fpcTotalBytesSortOrder } FpcCacheReportSortOrder; //////////////////////////////////////////////// // FpcTopAppsReportSortOrder typedef enum FpcTopAppsReportSortOrder { fpcTopAppsRequests = fpcRequestsSortOrder, fpcTopAppsUsers = fpcUsersSortOrder } FpcTopAppsReportSortOrder; //////////////////////////////////////////////// // FpcBrowsersReportSortOrder typedef enum FpcBrowsersReportSortOrder { fpcBrowsersRequests = fpcRequestsSortOrder, fpcBrowsersUsers = fpcUsersSortOrder } FpcBrowsersReportSortOrder; //////////////////////////////////////////////// // FpcOperatingSystemsReportSortOrder typedef enum FpcOperatingSystemsReportSortOrder { fpcOperatingSystemsRequests = fpcRequestsSortOrder, fpcOperatingSystemsUsers = fpcUsersSortOrder } FpcOperatingSystemsReportSortOrder; //////////////////////////////////////////////// // FpcObjectTypesReportSortOrder typedef enum FpcObjectTypesReportSortOrder { fpcObjectTypesRequests = fpcRequestsSortOrder, fpcObjectTypesUsers = fpcUsersSortOrder, fpcObjectTypesBytesIn = fpcBytesInSortOrder } FpcObjectTypesReportSortOrder; //////////////////////////////////////////////// // FpcTopDestinationsReportSortOrder typedef enum FpcTopDestinationsReportSortOrder { fpcTopDestinationsRequests = fpcRequestsSortOrder, fpcTopDestinationsUsers = fpcUsersSortOrder, fpcTopDestinationsBytesIn = fpcBytesInSortOrder, fpcTopDestinationsBytesOut = fpcBytesOutSortOrder, fpcTopDestinationsTotalBytes = fpcTotalBytesSortOrder } FpcTopDestinationsReportSortOrder; //////////////////////////////////////////////// // FpcProtocolCategory typedef enum FpcProtocolCategory { fpcProtocolCategoriesAll = 0x00000000, // all protocols fpcProtocolCategoryUserDefined = 0x00000001, fpcProtocolCategoryCommon = 0x00000002, fpcProtocolCategoryInfrastructure = 0x00000004, fpcProtocolCategoriesMail = 0x00000008, fpcProtocolCategoriesMessaging = 0x00000010, fpcProtocolCategoriesRemote = 0x00000020, fpcProtocolCategoriesMedia = 0x00000040, fpcProtocolCategoriesVpnIpsec = 0x00000080, fpcProtocolCategoriesWeb = 0x00000100, fpcProtocolCategoriesAuthentication = 0x00000200, fpcAllProtocolCategories = 0xFFFFFFFF } FpcProtocolCategory; //////////////////////////////////////////////// // FpcFilterCriteria typedef enum FpcFilterCriteria { fpcNoFilter, fpcFilterByClientIP, fpcFilterByClientUserName, fpcFilterByClientAgent, fpcFilterByAuthenticated, fpcFilterByService, fpcFilterByServername, fpcFilterByReferringServer, fpcFilterByDestHost, fpcFilterByDestHostIP, fpcFilterByProtocol, fpcFilterByTransport, fpcFilterByOperation, fpcFilterByUrl, fpcFilterByRule, fpcFilterByFilterInfo, fpcFilterByMimetype, fpcFilterByObjectSource, fpcFilterByLogTime, fpcFilterByCacheInfo, fpcFilterByErrorInfo, fpcFilterByDestHostPort, fpcFilterBySrcPort, fpcFilterByLogType, fpcFilterBySessionType, fpcFilterByActivation, fpcFilterByClientComputerName, fpcFilterBySourceNetwork, fpcFilterByDestinationNetwork, fpcFilterBySourceProxy, fpcFilterByDestinationProxy, fpcFilterByAction, fpcFilterByBidirectional, fpcFilterByInterface, fpcFilterByHeader, fpcFilterByPayload, fpcFilterProcessingTime, fpcFilterByResultCode, fpcFilterByBytesSent, fpcFilterByBytesReceived, fpcFilterByApplicationName, fpcFilterByOriginalClientIP, fpcFilterByHTTPCode } FpcFilterCriteria; //////////////////////////////////////////////// // FpcFilterCondition typedef enum FpcFilterCondition { fpcNoCondition = 0x00000000, fpcEqual = 0x00000001, fpcNotEqual = 0x00000002, fpcGreaterOrEqual = 0x00000004, fpcLessOrEqual = 0x00000008, fpcOnOrAfter = 0x00000010, fpcOnOrBefore = 0x00000020, fpcContains = 0x00000040, fpcLiveData = 0x00000080, fpcLastHour = 0x00000100, fpcLast24Hours = 0x00000200, fpcLast7days = 0x00000400, fpcLast30days = 0x00000800, fpcNotContains = 0x00001000 } FpcFilterCondition; //////////////////////////////////////////////// // FpcFilterValueType typedef enum FpcFilterValueType { fpcNoValueType, fpcNumeric, fpcDate, fpcString, fpcIPAddress, fpcEnum } FpcFilterValueType; //////////////////////////////////////////////// // FpcFilterType typedef enum FpcFilterType { fpcNoFilterType, fpcSessionsFilter, fpcLogViewerFilter } FpcFilterType; //////////////////////////////////////////////// // FpcSessionType typedef enum FpcSessionType { fpcNoSessionType, fpcSecureNetSession, fpcFirewallClientSession, fpcProxySession, fpcVpnRemoteAccessSession, fpcVpnRemoteSiteSession } FpcSessionType; //////////////////////////////////////////////// // FpcSessionMonitorEvent typedef enum FpcSessionMonitorEvent { fpcSessionFound, fpcSessionAllFound, fpcSessionCreated, fpcSessionDisconnected, fpcSessionDisconnectedAll, fpcSessionNetworkChanged, fpcSessionConnectionRestored, fpcSessionFilteredOut } FpcSessionMonitorEvent; //////////////////////////////////////////////// // FpcSystemPolicyConfigGroup typedef enum FpcSystemPolicyConfigGroupEnum { fpcSystemPolicyConfigGroup_Unknown = -1, fpcSystemPolicyConfigGroup_AD, fpcSystemPolicyConfigGroup_Radius, fpcSystemPolicyConfigGroup_Passport, fpcSystemPolicyConfigGroup_RSASecureId, fpcSystemPolicyConfigGroup_DNS, fpcSystemPolicyConfigGroup_DHCP, fpcSystemPolicyConfigGroup_RemoteMgmt_FWCONTROL, fpcSystemPolicyConfigGroup_RemoteMgmt_TS, fpcSystemPolicyConfigGroup_RemoteMgmt_ICMP, fpcSystemPolicyConfigGroup_RemoteLogging, fpcSystemPolicyConfigGroup_RemoteLogging_SQL, fpcSystemPolicyConfigGroup_ICMP, fpcSystemPolicyConfigGroup_Prefetcher, fpcSystemPolicyConfigGroup_ManagementSites, fpcSystemPolicyConfigGroup_ClientSetup, fpcSystemPolicyConfigGroup_Perfmon, fpcSystemPolicyConfigGroup_Diag_WinNet, fpcSystemPolicyConfigGroup_Diag_Watson, fpcSystemPolicyConfigGroup_MOM, fpcSystemPolicyConfigGroup_Diag_Connectivity, fpcSystemPolicyConfigGroup_VPN, fpcSystemPolicyConfigGroup_NTP, fpcSystemPolicyConfigGroup_SMTP, fpcSystemPolicyConfigGroup_CRL, fpcSystemPolicyConfigGroup_MaxGroups } FpcSystemPolicyConfigGroupEnum; //////////////////////////////////////////////// // FpcRequestType typedef enum FpcRequestType { fpcHttpRequest, fpcPingRequest, fpcTcpConnect } FpcRequestType; //////////////////////////////////////////////// // FpcConnectivityGroupType typedef enum FpcConnectivityGroupType { fpcGroupFirst = 0, fpcGroupActiveDirectory = fpcGroupFirst, fpcGroupDHCP, fpcGroupDNS, fpcGroupPublishedServer, fpcGroupWeb, fpcGroupOther, fpcGroupLast = fpcGroupOther } FpcConnectivityGroupType; //////////////////////////////////////////////// // FpcConnectivityErrorStatus typedef enum FpcConnectivityErrorCode { fpcConnNoError, fpcConnDNSUnreachable, fpcConnUnresolvedName, fpcConnAuthenticationRequired, fpcConnTimeout, fpcConnError } FpcConnectivityErrorCode; //////////////////////////////////////////////// // FpcAction typedef enum FpcAction { fpcActionNotLogged = 0, fpcActionBind, fpcActionListen, fpcActionGHBN, fpcActionGHBA, fpcActionRedirectBind, fpcActionEstablish, fpcActionTerminate, fpcActionDenied, fpcActionAllowed, fpcActionFailed, fpcActionIntermediate, fpcActionSuccessfulConnection, fpcActionUnsuccessfulConnection, fpcActionDisconnection, fpcActionUserclearedQuarantine, fpcActionQuarantinetimeout } FpcAction; //////////////////////////////////////////////// // FpcClientAuthenticatedValues typedef enum FpcClientAuthenticatedValues { fpcClientAuthenticatedNotLogged = 0, fpcClientAuthenticatedYes, fpcClientAuthenticatedNo } FpcClientAuthenticatedValues; //////////////////////////////////////////////// // FpcLogServiceType typedef enum FpcLogServiceType { fpcLogServiceUnknown = 0, fpcLogServiceProxy, fpcLogServiceReverseProxy } FpcLogServiceType; //////////////////////////////////////////////// // FpcProxyObjSources typedef enum FpcProxyObjSources { fpcSrcUnknown = 0, fpcSrcCache, fpcSrcVerifiedCache, // cache sent IMS to server and got 304 fpcSrcNotVerifiedCache, // wanted to go to server, but failed, serving from cache fpcSrcVerifyFailedInternet, // cache sent IMS to server and did not get 304 fpcSrcInternet, fpcSrcMember, fpcSrcUpstream, fpcSrcNotModified // The client asked for IMS request and the the cahce returns 304 } FpcProxyObjSources; //////////////////////////////////////////////// // FpcBidirectional typedef enum FpcBidirectional { fpcBidirectionalNotLogged = 0, fpcBidirectionalYes, fpcBidirectionalNo } FpcBidirectional; #endif