Home | History | Annotate | Download | only in include
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the mingw-w64 runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
      5  */
      6 #ifndef _INC_EVCOLL
      7 #define _INC_EVCOLL
      8 #if (_WIN32_WINNT >= 0x0600)
      9 #ifdef __cplusplus
     10 extern "C" {
     11 #endif
     12 
     13 typedef enum _EC_SUBSCRIPTION_CONFIGURATION_MODE {
     14   EcConfigurationModeNormal         = 0,
     15   EcConfigurationModeCustom         = 1,
     16   EcConfigurationModeMinLatency     = 2,
     17   EcConfigurationModeMinBandwidth   = 3
     18 } EC_SUBSCRIPTION_CONFIGURATION_MODE;
     19 
     20 typedef enum _EC_SUBSCRIPTION_CONTENT_FORMAT {
     21   EcContentFormatEvents         = 1,
     22   EcContentFormatRenderedText   = 2
     23 } EC_SUBSCRIPTION_CONTENT_FORMAT;
     24 
     25 typedef enum _EC_SUBSCRIPTION_CREDENTIALS_TYPE {
     26   EcSubscriptionCredDefault        = 0,
     27   EcSubscriptionCredNegotiate      = 1,
     28   EcSubscriptionCredDigest         = 2,
     29   EcSubscriptionCredBasic          = 3,
     30   EcSubscriptionCredLocalMachine   = 4
     31 } EC_SUBSCRIPTION_CREDENTIALS_TYPE;
     32 
     33 typedef enum _EC_SUBSCRIPTION_DELIVERY_MODE {
     34   EcDeliveryModePull   = 1,
     35   EcDeliveryModePush   = 2
     36 } EC_SUBSCRIPTION_DELIVERY_MODE;
     37 
     38 typedef enum _EC_SUBSCRIPTION_PROPERTY_ID {
     39   EcSubscriptionEnabled                        = 0,
     40   EcSubscriptionEventSources                   = 1,
     41   EcSubscriptionEventSourceAddress             = 2,
     42   EcSubscriptionEventSourceEnabled             = 3,
     43   EcSubscriptionEventSourceUserName            = 4,
     44   EcSubscriptionEventSourcePassword            = 5,
     45   EcSubscriptionDescription                    = 6,
     46   EcSubscriptionURI                            = 7,
     47   EcSubscriptionConfigurationMode              = 8,
     48   EcSubscriptionExpires                        = 9,
     49   EcSubscriptionQuery                          = 10,
     50   EcSubscriptionTransportName                  = 11,
     51   EcSubscriptionTransportPort                  = 12,
     52   EcSubscriptionDeliveryMode                   = 13,
     53   EcSubscriptionDeliveryMaxItems               = 14,
     54   EcSubscriptionDeliveryMaxLatencyTime         = 15,
     55   EcSubscriptionHeartbeatInterval              = 16,
     56   EcSubscriptionLocale                         = 17,
     57   EcSubscriptionContentFormat                  = 18,
     58   EcSubscriptionLogFile                        = 19,
     59   EcSubscriptionPublisherName                  = 20,
     60   EcSubscriptionCredentialsType                = 21,
     61   EcSubscriptionCommonUserName                 = 22,
     62   EcSubscriptionCommonPassword                 = 23,
     63   EcSubscriptionHostName                       = 24,
     64   EcSubscriptionReadExistingEvents             = 25,
     65   EcSubscriptionDialect                        = 26,
     66   EcSubscriptionType                           = 27,
     67   EcSubscriptionAllowedIssuerCAs               = 28,
     68   EcSubscriptionAllowedSubjects                = 29,
     69   EcSubscriptionDeniedSubjects                 = 30,
     70   EcSubscriptionAllowedSourceDomainComputers   = 31
     71 } EC_SUBSCRIPTION_PROPERTY_ID;
     72 
     73 typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS {
     74   EcRuntimeStatusActiveStatusDisabled   = 1,
     75   EcRuntimeStatusActiveStatusActive     = 2,
     76   EcRuntimeStatusActiveStatusInactive   = 3,
     77   EcRuntimeStatusActiveStatusTrying     = 4
     78 } EC_SUBSCRIPTION_RUNTIME_STATUS_ACTIVE_STATUS;
     79 
     80 typedef enum _EC_SUBSCRIPTION_TYPE {
     81   EcSubscriptionTypeSourceInitiated      = 0,
     82   EcSubscriptionTypeCollectorInitiated   = 1
     83 } EC_SUBSCRIPTION_TYPE;
     84 
     85 typedef enum _EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID {
     86   EcSubscriptionRunTimeStatusActive              = 0,
     87   EcSubscriptionRunTimeStatusLastError           = 1,
     88   EcSubscriptionRunTimeStatusLastErrorMessage    = 2,
     89   EcSubscriptionRunTimeStatusLastErrorTime       = 3,
     90   EcSubscriptionRunTimeStatusNextRetryTime       = 4,
     91   EcSubscriptionRunTimeStatusEventSources        = 5,
     92   EcSubscriptionRunTimeStatusLastHeartbeatTime   = 6
     93 } EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID;
     94 
     95 typedef struct _EC_VARIANT {
     96   __C89_NAMELESS union {
     97     BOOL      BooleanVal;
     98     UINT32    UInt32Val;
     99     ULONGLONG DateTimeVal;
    100     LPCWSTR   StringVal;
    101     PBYTE     BinaryVal;
    102     WINBOOL   *BooleanArr;
    103     INT32*    Int32Arr;
    104     LPWSTR    *StringArr;
    105   };
    106   DWORD Count;
    107   DWORD Type;
    108 } EC_VARIANT, *PEC_VARIANT;
    109 
    110 typedef enum _EC_VARIANT_TYPE {
    111   EcVarTypeNull                    = 0,
    112   EcVarTypeBoolean                 = 1,
    113   EcVarTypeUInt32                  = 2,
    114   EcVarTypeDateTime                = 3,
    115   EcVarTypeString                  = 4,
    116   EcVarObjectArrayPropertyHandle   = 5
    117 } EC_VARIANT_TYPE;
    118 
    119 typedef LPVOID EC_HANDLE;
    120 
    121 WINBOOL WINAPI EcClose(
    122   EC_HANDLE Object
    123 );
    124 
    125 WINBOOL WINAPI EcDeleteSubscription(
    126   LPCWSTR SubscriptionName,
    127   DWORD Flags
    128 );
    129 
    130 WINBOOL WINAPI EcEnumNextSubscription(
    131   EC_HANDLE SubscriptionEnum,
    132   DWORD SubscriptionNameBufferSize,
    133   LPWSTR SubscriptionNameBuffer,
    134   PDWORD SubscriptionNameBufferUsed
    135 );
    136 
    137 WINBOOL WINAPI EcGetObjectArrayProperty(
    138   EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
    139   EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
    140   DWORD ArrayIndex,
    141   DWORD Flags,
    142   DWORD PropertyValueBufferSize,
    143   PEC_VARIANT PropertyValueBuffer,
    144   PDWORD PropertyValueBufferUsed
    145 );
    146 
    147 WINBOOL WINAPI EcGetObjectArraySize(
    148   EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
    149   PDWORD ObjectArraySize
    150 );
    151 
    152 WINBOOL WINAPI EcGetSubscriptionProperty(
    153   EC_HANDLE Subscription,
    154   EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
    155   DWORD Flags,
    156   DWORD PropertyValueBufferSize,
    157   PEC_VARIANT PropertyValueBuffer,
    158   PDWORD PropertyValueBufferUsed
    159 );
    160 
    161 WINBOOL WINAPI EcGetSubscriptionRunTimeStatus(
    162   LPCWSTR SubscriptionName,
    163   EC_SUBSCRIPTION_RUNTIME_STATUS_INFO_ID StatusInfoId,
    164   LPCWSTR EventSourceName,
    165   DWORD Flags,
    166   DWORD StatusValueBufferSize,
    167   PEC_VARIANT StatusValueBuffer,
    168   PDWORD StatusValueBufferUsed
    169 );
    170 
    171 WINBOOL WINAPI EcInsertObjectArrayElement(
    172   EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
    173   DWORD ArrayIndex
    174 );
    175 
    176 EC_HANDLE WINAPI EcOpenSubscription(
    177   LPCWSTR SubscriptionName,
    178   DWORD AccessMask,
    179   DWORD Flags
    180 );
    181 
    182 EC_HANDLE WINAPI EcOpenSubscriptionEnum(
    183   DWORD Flags
    184 );
    185 
    186 WINBOOL WINAPI EcRemoveObjectArrayElement(
    187   EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
    188   DWORD ArrayIndex
    189 );
    190 
    191 WINBOOL WINAPI EcRetrySubscription(
    192   LPCWSTR SubscriptionName,
    193   LPCWSTR EventSourceName,
    194   DWORD Flags
    195 );
    196 
    197 WINBOOL WINAPI EcSaveSubscription(
    198   EC_HANDLE Subscription,
    199   DWORD Flags
    200 );
    201 
    202 WINBOOL WINAPI EcSetObjectArrayProperty(
    203   EC_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
    204   EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
    205   DWORD ArrayIndex,
    206   DWORD Flags,
    207   PEC_VARIANT PropertyValue
    208 );
    209 
    210 WINBOOL WINAPI EcSetSubscriptionProperty(
    211   EC_HANDLE Subscription,
    212   EC_SUBSCRIPTION_PROPERTY_ID PropertyId,
    213   DWORD Flags,
    214   PEC_VARIANT PropertyValue
    215 );
    216 
    217 #ifdef __cplusplus
    218 }
    219 #endif
    220 #endif /*(_WIN32_WINNT >= 0x0600)*/
    221 #endif /*_INC_EVCOLL*/
    222