• Main Page
  • Classes
  • Files
  • File List

/var/tmp/axbld-11697/rpm/BUILD/pegasus/src/Pegasus/Provider/CMPI/cmpidt.h

00001 //%LICENSE////////////////////////////////////////////////////////////////
00002 //
00003 // Licensed to The Open Group (TOG) under one or more contributor license
00004 // agreements.  Refer to the OpenPegasusNOTICE.txt file distributed with
00005 // this work for additional information regarding copyright ownership.
00006 // Each contributor licenses this file to you under the OpenPegasus Open
00007 // Source License; you may not use this file except in compliance with the
00008 // License.
00009 //
00010 // Permission is hereby granted, free of charge, to any person obtaining a
00011 // copy of this software and associated documentation files (the "Software"),
00012 // to deal in the Software without restriction, including without limitation
00013 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
00014 // and/or sell copies of the Software, and to permit persons to whom the
00015 // Software is furnished to do so, subject to the following conditions:
00016 //
00017 // The above copyright notice and this permission notice shall be included
00018 // in all copies or substantial portions of the Software.
00019 //
00020 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
00021 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
00022 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
00023 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
00024 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
00025 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
00026 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
00027 //
00029 //
00030 //%////////////////////////////////////////////////////////////////////////////
00031 
00032 #ifndef _CMPIDT_H_
00033 # define _CMPIDT_H_
00034 
00035 # include "cmpipl.h"
00036 
00037 # ifdef __cplusplus
00038 extern "C"
00039 {
00040 # endif
00041 
00042 // definition of version numbers to be used by providers using
00043 // CMBrokerVersion() They indicate what CMPI version is supported
00044 // by both the broker and its adapter
00045 
00046 #define CMPIVersion051 51     //  0.51
00047 #define CMPIVersion060 60     //  0.60
00048 #define CMPIVersion070 70     //  0.70
00049 #define CMPIVersion080 80     //  0.80
00050 #define CMPIVersion085 85     //  0.85
00051 #define CMPIVersion086 86     //  0.86
00052 #define CMPIVersion087 87     //  0.87
00053 #define CMPIVersion090 90     //  0.90
00054 #define CMPIVersion100 100    //  1.00
00055 #define CMPIVersion200 200    //  2.00
00056 
00057 // CMPI_VERSION compile switch should be used during MI compilation only.
00058 // It is used define minimal version support needed from Management Broker.
00059 // This value will be set in <mi-name>_Create<mi-type>MI.mi_version
00060 
00061 #ifdef CMPI_VERSION
00062 # if (CMPI_VERSION==80)
00063 #  define CMPI_VER_80 1
00064 # elif (CMPI_VERSION==85)
00065 #  define CMPI_VER_85 1
00066 # elif (CMPI_VERSION==86)
00067 #  define CMPI_VER_86 1
00068 # elif (CMPI_VERSION==87)
00069 #  define CMPI_VER_87 1
00070 # elif (CMPI_VERSION==90)
00071 #  define CMPI_VER_90 1
00072 # elif (CMPI_VERSION==100)
00073 #  define CMPI_VER_100 1
00074 # elif (CMPI_VERSION==200)
00075 #  define CMPI_VER_200 1
00076 # else
00077 #  error Unsupported CMPI_VERSION defined
00078 # endif
00079 #else
00080 # define CMPI_VER_200
00081 #endif
00082 
00083 // CMPI_VER_x switch is used by Management Broker implementations only.
00084 
00085 // It defines the CMPI version supported by the Management Broker.
00086 // This value must be set in the ftVersion field of all functions tables.
00087 
00088 // Version definitions are cumulative.
00089 // A new version definition must #define all previous definitions.
00090 
00091 // During MI loading MBs must ensure that
00092 // <mi-name>_Create<mi-type>MI.miVersion<=<mi-name>_Create<mi-type>MI.ftVersion
00093 // If this is not the case, the MI might require higher version MB support.
00094 
00095 #if defined (CMPI_VER_200) || defined(CMPI_VER_ALL)
00096 // CMPI Standard Version 2.0
00097 # define CMPI_VER_100
00098 # define CMPI_VER_90
00099 # define CMPI_VER_87
00100 # define CMPI_VER_86
00101 # define CMPI_VER_85
00102 # define CMPI_VER_80
00103 # define CMPICurrentVersion CMPIVersion200
00104 #elif defined (CMPI_VER_100)
00105 // CMPI Standard Version 1.0
00106 # define CMPI_VER_90
00107 # define CMPI_VER_87
00108 # define CMPI_VER_86
00109 # define CMPI_VER_85
00110 # define CMPI_VER_80
00111 # define CMPICurrentVersion CMPIVersion100
00112 #elif defined (CMPI_VER_90)
00113 // added Ext function table and getKeyList
00114 # define CMPI_VER_87
00115 # define CMPI_VER_86
00116 # define CMPI_VER_85
00117 # define CMPI_VER_80
00118 # define CMPICurrentVersion CMPIVersion090
00119 #elif defined (CMPI_VER_87)
00120 // added evaluateUsingAccessor in _CMPISelectExp
00121 # define CMPI_VER_86
00122 # define CMPI_VER_85
00123 # define CMPI_VER_80
00124 # define CMPICurrentVersion CMPIVersion087
00125 #elif defined (CMPI_VER_86)
00126 // enable() disable() support in _CMPIIndicationMIFT
00127 // toString() in _CMPIObjectPathFT
00128 // support for NULL return from <mi-name>_Create<mi-type>MI
00129 # define CMPI_VER_85
00130 # define CMPI_VER_80
00131 # define CMPICurrentVersion CMPIVersion086
00132 #elif defined (CMPI_VER_85)
00133 // getMessage() globalization support in _CMPIBrokerEncFT
00134 # define CMPI_VER_80
00135 # define CMPICurrentVersion CMPIVersion085
00136 #elif defined (CMPI_VER_80)
00137 # define CMPICurrentVersion CMPIVersion080
00138 #else
00139 // Default version is 2.0
00140 # define CMPI_VER_200
00141 # define CMPI_VER_100
00142 # define CMPI_VER_90
00143 # define CMPI_VER_87
00144 # define CMPI_VER_86
00145 # define CMPI_VER_85
00146 # define CMPI_VER_80
00147 # define CMPICurrentVersion CMPIVersion200
00148 #endif
00149 
00153     typedef unsigned int CMPICount;
00154 
00155     struct _CMPIBroker;
00156     struct _CMPIInstance;
00157     struct _CMPIObjectPath;
00158     struct _CMPIArgs;
00159     struct _CMPISelectExp;
00160     struct _CMPISelectCond;
00161     struct _CMPISubCond;
00162     struct _CMPIPredicate;
00163     struct _CMPIEnumeration;
00164     struct _CMPIArray;
00165     struct _CMPIString;
00166     struct _CMPIResult;
00167     struct _CMPIContext;
00168     struct _CMPIDateTime;
00169 
00170     typedef struct _CMPIBroker CMPIBroker;
00171     typedef struct _CMPIInstance CMPIInstance;
00172     typedef struct _CMPIObjectPath CMPIObjectPath;
00173     typedef struct _CMPIArgs CMPIArgs;
00174     typedef struct _CMPISelectExp CMPISelectExp;
00175     typedef struct _CMPISelectCond CMPISelectCond;
00176     typedef struct _CMPISubCond CMPISubCond;
00177     typedef struct _CMPIPredicate CMPIPredicate;
00178     typedef struct _CMPIEnumeration CMPIEnumeration;
00179     typedef struct _CMPIArray CMPIArray;
00180     typedef struct _CMPIString CMPIString;
00181     typedef struct _CMPIResult CMPIResult;
00182     typedef struct _CMPIContext CMPIContext;
00183     typedef struct _CMPIDateTime CMPIDateTime;
00184 
00185 #ifdef CMPI_VER_200
00186     struct _CMPIError;
00187 
00188     typedef struct _CMPIError CMPIError;
00189 #endif
00190 
00191     struct _CMPIBrokerFT;
00192     struct _CMPIBrokerEncFT;
00193     struct _CMPIInstanceFT;
00194     struct _CMPIObjectPathFT;
00195     struct _CMPIArgsFT;
00196     struct _CMPISelectExpFT;
00197     struct _CMPISelectCondFT;
00198     struct _CMPISelectCondDocFT;
00199     struct _CMPISelectCondCodFT;
00200     struct _CMPISubCondFT;
00201     struct _CMPIPredicateFT;
00202     struct _CMPIEnumerationFT;
00203     struct _CMPIArrayFT;
00204     struct _CMPIStringFT;
00205     struct _CMPIresultFT;
00206     struct _CMPIContextFT;
00207     struct _CMPIDateTimeFT;
00208 
00209 #ifdef CMPI_VER_200
00210     struct _CMPIBrokerMemFT;
00211     struct _CMPIErrorFT;
00212 
00213     typedef struct _CMPIBrokerMemFT CMPIBrokerMemFT;
00214     typedef struct _CMPIErrorFT CMPIErrorFT;
00215 #endif
00216 
00217     typedef struct _CMPIBrokerFT CMPIBrokerFT;
00218     typedef struct _CMPIBrokerEncFT CMPIBrokerEncFT;
00219     typedef struct _CMPIBrokerExtFT CMPIBrokerExtFT;
00220     typedef struct _CMPIInstanceFT CMPIInstanceFT;
00221     typedef struct _CMPIObjectPathFT CMPIObjectPathFT;
00222     typedef struct _CMPIArgsFT CMPIArgsFT;
00223     typedef struct _CMPISelectExpFT CMPISelectExpFT;
00224     typedef struct _CMPISelectCondFT CMPISelectCondFT;
00225     typedef struct _CMPISubCondFT CMPISubCondFT;
00226     typedef struct _CMPIPredicateFT CMPIPredicateFT;
00227     typedef struct _CMPIEnumerationFT CMPIEnumerationFT;
00228     typedef struct _CMPIArrayFT CMPIArrayFT;
00229     typedef struct _CMPIStringFT CMPIStringFT;
00230     typedef struct _CMPIResultFT CMPIResultFT;
00231     typedef struct _CMPIContextFT CMPIContextFT;
00232     typedef struct _CMPIDateTimeFT CMPIDateTimeFT;
00233 
00234     typedef unsigned char CMPIBoolean;
00235     typedef unsigned short CMPIChar16;
00236     typedef unsigned char CMPIUint8;
00237     typedef unsigned short CMPIUint16;
00238     typedef unsigned int CMPIUint32;
00239 #ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
00240     typedef unsigned long long CMPIUint64;
00241 #else
00242     typedef unsigned __int64 CMPIUint64;
00243 #endif
00244     typedef signed char CMPISint8;
00245     typedef short CMPISint16;
00246     typedef signed int CMPISint32;
00247 #ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
00248     typedef long long CMPISint64;
00249 #else
00250     typedef __int64 CMPISint64;
00251 #endif
00252     typedef float CMPIReal32;
00253     typedef double CMPIReal64;
00254 
00259     typedef struct _CMPIValuePtr
00260     {
00264         void *ptr;
00265 
00269         CMPICount length;
00270     } CMPIValuePtr;
00271 
00275     typedef union _CMPIValue
00276     {
00280         CMPIUint64 uint64;
00284         CMPIUint32 uint32;
00288         CMPIUint16 uint16;
00292         CMPIUint8 uint8;
00296         CMPISint64 sint64;
00300         CMPISint32 sint32;
00304         CMPISint16 sint16;
00308         CMPISint8 sint8;
00312         CMPIReal64 real64;
00316         CMPIReal32 real32;
00320         CMPIBoolean boolean;
00324         CMPIChar16 char16;
00328         CMPIInstance *inst;
00332         CMPIObjectPath *ref;
00336         CMPIArgs *args;
00340         CMPISelectExp *filter;
00344         CMPIEnumeration *Enum;
00348         CMPIArray *array;
00352         CMPIString *string;
00356         char *chars;
00360         CMPIDateTime *dateTime;
00364         CMPIValuePtr dataPtr;
00368         CMPISint8 Byte;
00372         CMPISint16 Short;
00376         CMPISint32 Int;
00380         CMPISint64 Long;
00384         CMPIReal32 Float;
00388         CMPIReal64 Double;
00389     } CMPIValue;
00390 
00391     typedef unsigned short CMPIType;
00392 
00393 #define CMPI_null         0
00394 
00395 #define CMPI_SIMPLE       (2)
00396 #define CMPI_boolean      (2+0)
00397 #define CMPI_char16       (2+1)
00398 
00399 #define CMPI_REAL         ((2)<<2)
00400 #define CMPI_real32       ((2+0)<<2)
00401 #define CMPI_real64       ((2+1)<<2)
00402 
00403 #define CMPI_UINT         ((8)<<4)
00404 #define CMPI_uint8        ((8+0)<<4)
00405 #define CMPI_uint16       ((8+1)<<4)
00406 #define CMPI_uint32       ((8+2)<<4)
00407 #define CMPI_uint64       ((8+3)<<4)
00408 #define CMPI_SINT         ((8+4)<<4)
00409 #define CMPI_sint8        ((8+4)<<4)
00410 #define CMPI_sint16       ((8+5)<<4)
00411 #define CMPI_sint32       ((8+6)<<4)
00412 #define CMPI_sint64       ((8+7)<<4)
00413 #define CMPI_INTEGER      ((CMPI_UINT | CMPI_SINT))
00414 
00415 #define CMPI_ENC          ((16)<<8)
00416 #define CMPI_instance     ((16+0)<<8)
00417 #define CMPI_ref          ((16+1)<<8)
00418 #define CMPI_args         ((16+2)<<8)
00419 #define CMPI_class        ((16+3)<<8)
00420 #define CMPI_filter       ((16+4)<<8)
00421 #define CMPI_enumeration  ((16+5)<<8)
00422 #define CMPI_string       ((16+6)<<8)
00423 #define CMPI_chars        ((16+7)<<8)
00424 #define CMPI_dateTime     ((16+8)<<8)
00425 #define CMPI_ptr          ((16+9)<<8)
00426 #define CMPI_charsptr     ((16+10)<<8)
00427 
00428 #define CMPI_ARRAY        ((1)<<13)
00429 #define CMPI_SIMPLEA      (CMPI_ARRAY | CMPI_SIMPLE)
00430 #define CMPI_booleanA     (CMPI_ARRAY | CMPI_boolean)
00431 #define CMPI_char16A      (CMPI_ARRAY | CMPI_char16)
00432 
00433 #define CMPI_REALA        (CMPI_ARRAY | CMPI_REAL)
00434 #define CMPI_real32A      (CMPI_ARRAY | CMPI_real32)
00435 #define CMPI_real64A      (CMPI_ARRAY | CMPI_real64)
00436 
00437 #define CMPI_UINTA        (CMPI_ARRAY | CMPI_UINT)
00438 #define CMPI_uint8A       (CMPI_ARRAY | CMPI_uint8)
00439 #define CMPI_uint16A      (CMPI_ARRAY | CMPI_uint16)
00440 #define CMPI_uint32A      (CMPI_ARRAY | CMPI_uint32)
00441 #define CMPI_uint64A      (CMPI_ARRAY | CMPI_uint64)
00442 #define CMPI_SINTA        (CMPI_ARRAY | CMPI_SINT)
00443 #define CMPI_sint8A       (CMPI_ARRAY | CMPI_sint8)
00444 #define CMPI_sint16A      (CMPI_ARRAY | CMPI_sint16)
00445 #define CMPI_sint32A      (CMPI_ARRAY | CMPI_sint32)
00446 #define CMPI_sint64A      (CMPI_ARRAY | CMPI_sint64)
00447 #define CMPI_INTEGERA     (CMPI_ARRAY | CMPI_INTEGER)
00448 
00449 #define CMPI_ENCA         (CMPI_ARRAY | CMPI_ENC)
00450 #define CMPI_stringA      (CMPI_ARRAY | CMPI_string)
00451 #define CMPI_charsA       (CMPI_ARRAY | CMPI_chars)
00452 #define CMPI_dateTimeA    (CMPI_ARRAY | CMPI_dateTime)
00453 #define CMPI_instanceA    (CMPI_ARRAY | CMPI_instance)
00454 #define CMPI_refA         (CMPI_ARRAY | CMPI_ref)
00455 #define CMPI_charsptrA    (CMPI_ARRAY | CMPI_charsptr)
00456 
00457 // the following are CMPIObjectPath key-types synonyms
00458 // and are valid only when CMPI_keyValue of CMPIValueState is set
00459 
00460 #define CMPI_keyInteger   (CMPI_sint64)
00461 #define CMPI_keyString    (CMPI_string)
00462 #define CMPI_keyBoolean   (CMPI_boolean)
00463 #define CMPI_keyRef       (CMPI_ref)
00464 
00465 // the following are predicate types only
00466 
00467 #define CMPI_charString      (CMPI_string)
00468 #define CMPI_integerString   (CMPI_string | CMPI_sint64)
00469 #define CMPI_realString      (CMPI_string | CMPI_real64)
00470 #define CMPI_numericString   (CMPI_string | CMPI_sint64 | CMPI_real64)
00471 #define CMPI_booleanString   (CMPI_string | CMPI_boolean)
00472 #define CMPI_dateTimeString  (CMPI_string | CMPI_dateTime)
00473 #define CMPI_classNameString (CMPI_string | CMPI_class)
00474 #define CMPI_nameString      (CMPI_string | ((16+10)<<8))
00475 
00487     typedef unsigned short CMPIValueState;
00488 #define CMPI_goodValue (0)
00489 #define CMPI_nullValue (1<<8)
00490 #define CMPI_keyValue  (2<<8)
00491 #define CMPI_notFound  (4<<8)
00492 #define CMPI_badValue  (0x80<<8)
00493 
00499     typedef struct _CMPIData
00500     {
00504         CMPIType type;
00509         CMPIValueState state;
00514         CMPIValue value;
00515     } CMPIData;
00516 
00517 #ifdef CMPI_VER_87
00518     typedef CMPIData CMPIAccessor (const char *, void *parm);
00519 #endif
00520 
00521 #ifndef CMPI_NO_SYNONYM_SUPPORT
00522 # define CMPI_Byte    CMPI_sint8
00523 # define CMPI_Short   CMPI_sint16
00524 # define CMPI_Int     CMPI_sint32
00525 # define CMPI_Long    CMPI_sint64
00526 # define CMPI_Float   CMPI_real32
00527 # define CMPI_Double  CMPI_real64
00528 
00529 # define CMPI_ByteA   CMPI_sint8A
00530 # define CMPI_ShortA  CMPI_sint16A
00531 # define CMPI_IntA    CMPI_sint32A
00532 # define CMPI_LongA   CMPI_sint64A
00533 # define CMPI_FloatA  CMPI_real32A
00534 # define CMPI_DoubleA CMPI_real64A
00535 #endif                       // CMPI_NO_SYNONYM_SUPPORT
00536 
00537     typedef void * CMPIMsgFileHandle;
00538 
00539     typedef void CMPIGcStat;
00540 
00555     typedef unsigned int CMPIFlags;
00556 
00557 #define CMPI_FLAG_LocalOnly          1
00558 #define CMPI_FLAG_DeepInheritance    2
00559 #define CMPI_FLAG_IncludeQualifiers  4
00560 #define CMPI_FLAG_IncludeClassOrigin 8
00561 
00562 /* Authenticated ID of the user requesting this MI invocation. */
00563 #define CMPIPrincipal       "CMPIPrincipal"
00564 /* CMPIFlags -  invocation flags as specified by the client. */
00565 #define CMPIInvocationFlags "CMPIInvocationFlags"
00566 /* Namespace for which the MI is started. */
00567 #define CMPIInitNameSpace   "CMPIInitNameSpace"
00568 /* The role assumed by the current authenticated user. */
00569 #define CMPIRole            "CMPIRole"
00570 /* The accept language from the request */
00571 #define CMPIAcceptLanguage  "CMPIAcceptLanguage"
00572 /* The content language of the response */
00573 #define CMPIContentLanguage "CMPIContentLanguage"
00574 
00579     typedef enum _CMPIrc
00580     {
00584         CMPI_RC_OK = 0,
00588         CMPI_RC_ERR_FAILED = 1,
00593         CMPI_RC_ERR_ACCESS_DENIED = 2,
00597         CMPI_RC_ERR_INVALID_NAMESPACE = 3,
00601         CMPI_RC_ERR_INVALID_PARAMETER = 4,
00605         CMPI_RC_ERR_INVALID_CLASS = 5,
00609         CMPI_RC_ERR_NOT_FOUND = 6,
00613         CMPI_RC_ERR_NOT_SUPPORTED = 7,
00617         CMPI_RC_ERR_CLASS_HAS_CHILDREN = 8,
00621         CMPI_RC_ERR_CLASS_HAS_INSTANCES = 9,
00625         CMPI_RC_ERR_INVALID_SUPERCLASS = 10,
00629         CMPI_RC_ERR_ALREADY_EXISTS = 11,
00633         CMPI_RC_ERR_NO_SUCH_PROPERTY = 12,
00637         CMPI_RC_ERR_TYPE_MISMATCH = 13,
00641         CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED = 14,
00645         CMPI_RC_ERR_INVALID_QUERY = 15,
00649         CMPI_RC_ERR_METHOD_NOT_AVAILABLE = 16,
00653         CMPI_RC_ERR_METHOD_NOT_FOUND = 17,
00657         CMPI_RC_NO_MORE_ELEMENTS = 18,
00662         CMPI_RC_DO_NOT_UNLOAD = 50,
00667         CMPI_RC_NEVER_UNLOAD = 51,
00668         /* Internal CMPI return codes. */
00669         CMPI_RC_ERR_INVALID_HANDLE = 60,
00670         CMPI_RC_ERR_INVALID_DATA_TYPE = 61,
00671         /* Hosting OS errors. */
00672         CMPI_RC_ERROR_SYSTEM = 100,
00673         CMPI_RC_ERROR = 200
00674     } CMPIrc;
00675 
00679     typedef struct _CMPIStatus
00680     {
00685         CMPIrc rc;
00690         CMPIString *msg;
00691     } CMPIStatus;
00692 
00693     /* Management Broker capabilities and feature support */
00694 
00695 #define CMPI_MB_Class_0     0x00000001
00696 #define CMPI_MB_Class_1     0x00000003
00697 #define CMPI_MB_Class_2     0x00000007
00698 
00699 #define CMPI_MB_Supports_PropertyMI         0x00000100
00700 #define CMPI_MB_Supports_IndicationMI       0x00000200
00701 #define CMPI_MB_Supports_IndicationPolling  0x00000400
00702 #define CMPI_MB_Supports_QueryNormalization 0x00000800
00703 #define CMPI_MB_Supports_Qualifier          0x00001000
00704 #define CMPI_MB_Supports_Schema             0x00003000
00705 
00706 #ifdef CMPI_VER_200
00707 # define CMPI_MB_Supports_MemEnhancements   0x00004000
00708 # define CMPI_MB_Supports_Extended_Error    0x00008000
00709 #endif
00710 
00711 #define CMPI_MB_BasicRead 0x00000001
00712 #define CMPI_MB_BasicWrite 0x00000003
00713 #define CMPI_MB_InstanceManipulation 0x00000007
00714 #define CMPI_MB_AssociationTraversal 0x00000009
00715 #define CMPI_MB_QueryExecution 0x00000011
00716 #define CMPI_MB_QueryNormalization 0x00000031
00717 #define CMPI_MB_Indications 0x00000081
00718 #define CMPI_MB_BasicQualifierSupport 0x00000047
00719 #define CMPI_MB_OSEncapsulationSupport 0x00000100
00720 
00721     /* Query Predicate operations */
00722 
00723     typedef enum _CMPIPredOp
00724     {
00725         CMPI_PredOp_Equals = 1,
00726         CMPI_PredOp_NotEquals = 2,
00727         CMPI_PredOp_LessThan = 3,
00728         CMPI_PredOp_GreaterThanOrEquals = 4,
00729         CMPI_PredOp_GreaterThan = 5,
00730         CMPI_PredOp_LessThanOrEquals = 6,
00731         CMPI_PredOp_Isa = 7,
00732         CMPI_PredOp_NotIsa = 8,
00733         CMPI_PredOp_Like = 9,
00734         CMPI_PredOp_NotLike = 10,
00735 #ifdef CMPI_VER_200
00736             CMPI_PredOp_Not_Null = 11,
00737         CMPI_PredOp_Null = 12,
00738         CMPI_PredOp_And = 13,
00739         CMPI_PredOp_Or = 14
00740 #endif
00741     } CMPIPredOp;
00742 
00746     typedef enum _CMPISeverity
00747     {
00751         CMPI_SEV_ERROR = 1,
00755         CMPI_SEV_INFO = 2,
00759         CMPI_SEV_WARNING = 3,
00763         CMPI_DEV_DEBUG = 4
00764     } CMPISeverity;
00765 
00769     typedef enum _CMPILevel
00770     {
00774         CMPI_LEV_INFO = 1,
00778         CMPI_LEV_WARNING = 2,
00782         CMPI_LEV_VERBOSE = 3
00783     } CMPILevel;
00784 
00788     typedef enum _CMPISelectCondType
00789     {
00793         CMPI_COND_DOC = 0,
00797         CMPI_COND_COD = 1
00798     } CMPISelectCondType;
00799 
00800 #ifdef CMPI_VER_200
00801 
00805     typedef enum _CMPIErrorType
00806     {
00810         UnknownErrorType = 0,
00814         OtherErrorType = 1,
00818         CommunicationsError = 2,
00822         QualityOfServiceError = 3,
00826         SoftwareError = 4,
00830         HardwareError = 5,
00834         EnvironmentalError = 6,
00838         SecurityError = 7,
00842         Oversubscription_Error = 8,
00846         UnavailableResourceError = 9,
00850         UnsupportedOperationError = 10
00851     } CMPIErrorType;
00852 
00856     typedef enum _CMPIErrorSeverity
00857     {
00861         ErrorSevUnknown = 0,
00865         ErrorSevLow = 2,
00869         ErrorSevMedium = 3,
00873         ErrorSevHigh = 4,
00877         ErrorSevFatal = 5
00878     } CMPIErrorSeverity;
00879 
00883     typedef enum _CMPIErrorProbableCause
00884     {
00888         ErrorProbCauseUnknown = 0,
00892         ErrorProbCauseOther = 1,
00896         Adapter_Card_Error = 2,
00900         Application_Subsystem_Failure = 3,
00904         Bandwidth_Reduced = 4,
00908         Connection_Establishment_Error = 5,
00912         Communications_Protocol_Error = 6,
00916         Communications_Subsystem_Failure = 7,
00920         ConfigurationCustomization_Error = 8,
00924         Congestion = 9,
00928         Corrupt_Data = 10,
00932         CPU_Cycles_Limit_Exceeded = 11,
00936         DatasetModem_Error = 12,
00940         Degraded_Signal = 13,
00944         DTE_DCE_Interface_Error = 14,
00948         Enclosure_Door_Open = 15,
00952         Equipment_Malfunction = 16,
00956         Excessive_Vibration = 17,
00960         File_Format_Error = 18,
00964         Fire_Detected = 19,
00968         Flood_Detected = 20,
00972         Framing_Error = 21,
00976         HVAC_Problem = 22,
00977         /* Humidity unacceptable */
00978         Humidity_Unacceptable = 23,
00982         IO_Device_Error = 24,
00986         Input_Device_Error = 25,
00990         LAN_Error = 26,
00994         Non_Toxic_Leak_Detected = 27,
00995         /* Local node transmission error */
00996         Local_Node_Transmission_Error = 28,
01000         Loss_of_Frame = 29,
01004         Loss_of_Signal = 30,
01008         Material_Supply_Exhausted = 31,
01012         Multiplexer_Problem = 32,
01016         Out_of_Memory = 33,
01020         Output_Device_Error = 34,
01024         Performance_Degraded = 35,
01028         Power_Problem = 36,
01032         Pressure_Unacceptable = 37,
01036         Processor_Problem = 38,
01040         Pump_Failure = 39,
01044         Queue_Size_Exceeded = 40,
01048         Receive_Failure = 41,
01052         Receiver_Failure = 42,
01056         Remote_Node_Transmission_Error = 43,
01060         Resource_at_or_Nearing_Capacity = 44,
01064         Response_Time_Excessive = 45,
01068         Retransmission_Rate_Excessive = 46,
01072         Software_Error = 47,
01076         Software_Program_Abnormally_Terminated = 48,
01080         Software_Program_Error = 49,
01084         Storage_Capacity_Problem = 50,
01088         Temperature_Unacceptable = 51,
01092         Threshold_Crossed = 52,
01096         Timing_Problem = 53,
01100         Toxic_Leak_Detected = 54,
01104         Transmit_Failure = 55,
01108         Transmitter_Failure = 56,
01112         Underlying_Resource_Unavailable = 57,
01116         Version_Mismatch = 58,
01120         Previous_Alert_Cleared = 59,
01124         Login_Attempts_Failed = 60,
01128         Software_Virus_Detected = 61,
01132         Hardware_Security_Breached = 62,
01136         Denial_of_Service_Detected = 63,
01140         Security_Credential_Mismatch = 64,
01144         Unauthorized_Access = 65,
01148         Alarm_Received = 66,
01152         Loss_of_Pointer = 67,
01156         Payload_Mismatch = 68,
01160         Transmission_Error = 69,
01164         Excessive_Error_Rate = 70,
01168         Trace_Problem = 71,
01172         Element_Unavailable = 72,
01176         Element_Missing = 73,
01180         Loss_of_Multi_Frame = 74,
01184         Broadcast_Channel_Failure = 75,
01188         Invalid_Message_Received = 76,
01192         Routing_Failure = 77,
01196         Backplane_Failure = 78,
01200         Identifier_Duplication = 79,
01204         Protection_Path_Failure = 80,
01208         Sync_Loss_or_Mismatch = 81,
01212         Terminal_Problem = 82,
01216         Real_Time_Clock_Failure = 83,
01220         Antenna_Failure = 84,
01224         Battery_Charging_Failure = 85,
01228         Disk_Failure = 86,
01232         Frequency_Hopping_Failure = 87,
01236         Loss_of_Redundancy = 88,
01240         Power_Supply_Failure = 89,
01244         Signal_Quality_Problem = 90,
01248         Battery_Discharging = 91,
01252         Battery_Failure = 92,
01256         Commercial_Power_Problem = 93,
01260         Fan_Failure = 94,
01264         Engine_Failure = 95,
01268         Sensor_Failure = 96,
01272         Fuse_Failure = 97,
01276         Generator_Failure = 98,
01280         Low_Battery = 99,
01284         Low_Fuel = 100,
01288         Low_Water = 101,
01292         Explosive_Gas = 102,
01296         High_Winds = 103,
01300         Ice_Buildup = 104,
01304         Smoke = 105,
01308         Memory_Mismatch = 106,
01312         Out_of_CPU_Cycles = 107,
01316         Software_Environment_Problem = 108,
01320         Software_Download_Failure = 109,
01324         Element_Reinitialized = 110,
01328         Timeout = 111,
01332         Logging_Problems = 112,
01336         Leak_Detected_113,
01340         Protection_Mechanism_Failure = 114,
01344         Protecting_Resource_Failure = 115,
01348         Database_Inconsistency = 116,
01352         Authentication_Failure = 117,
01356         Breach_of_Confidentiality = 118,
01360         Cable_Tamper = 119,
01364         Delayed_Information = 120,
01368         Duplicate_Information = 121,
01372         Information_Missing = 122,
01376         Information_Modification = 123,
01380         Information_Out_of_Sequence = 124,
01384         Key_Expired = 125,
01388         Non_Repudiation_Failure = 126,
01392         Out_of_Hours_Activity = 127,
01396         Out_of_Service = 128,
01400         Procedural_Error = 129,
01404         Unexpected_Information = 130
01405     } CMPIErrorProbableCause;
01406 
01410     typedef enum _CMPIErrorSrcFormat
01411     {
01415         CMPIErrSrcUnknown = 0,
01419         CMPIErrSrcOther = 1,
01420         /* Object handle */
01421         CIMObjectHandle = 2
01422     } CMPIErrorSrcFormat;
01423 
01424 #endif /* CMPI_VER_200 */
01425 
01426 #ifdef __cplusplus
01427 };
01428 #endif
01429 
01430 #endif // _CMPIDT_H_