cmpi/cmpidt.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * $Id: cmpidt.h,v 1.8 2009/03/16 18:26:17 tyreld Exp $
00004  *
00005  * (C) Copyright IBM Corp. 2003, 2005, 2006, 2008
00006  *
00007  * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
00008  * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
00009  * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
00010  *
00011  * You can obtain a current copy of the Eclipse Public License from
00012  * http://www.opensource.org/licenses/eclipse-1.0.txt
00013  *
00014  * Author:        Adrian Schuur <schuur@de.ibm.com>
00015  * Contributors:  Konrad Rzeszutek <darnok@us.ibm.com>
00016  *
00017  * Description: CMPI Data Type Definions
00018  *
00019  */
00020 
00021 /* ------------------------------------------------------------------------- */
00022 /*                                                                           */
00023 /* Copyright (c) 2006 The Open Group                                         */
00024 /*                                                                           */
00025 /* Permission is hereby granted, free of charge, to any person obtaining a   */
00026 /* copy of this software (the "Software"), to deal in the Software without   */
00027 /* restriction, including without limitation the rights to use, copy,        */
00028 /* modify, merge, publish, distribute, sublicense, and/or sell copies of     */
00029 /* the Software, and to permit persons to whom the Software is furnished     */
00030 /* to do so, subject to the following conditions:                            */
00031 /*                                                                           */
00032 /* The above copyright notice and this permission notice shall be included   */
00033 /* in all copies or substantial portions of the Software.                    */
00034 /*                                                                           */
00035 /* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS   */
00036 /* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF                */
00037 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.    */
00038 /* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY      */
00039 /* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT */
00040 /* OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR  */
00041 /* THE USE OR OTHER DEALINGS IN THE SOFTWARE.                                */
00042 /*                                                                           */
00043 /* ------------------------------------------------------------------------- */
00044 
00045 #ifndef _CMPIDT_H_
00046 #   define _CMPIDT_H_
00047 
00048 #   include "cmpipl.h"
00049 
00050 #   ifdef __cplusplus
00051 extern "C"
00052 {
00053 #   endif
00054 
00055 // defintion of version numbers to be used by providers using CMBrokerVersion()
00056 // They indicate what CMPI version is supported by both the broker and its adapter
00057 #   define CMPIVersion085 85
00058 #   define CMPIVersion086 86
00059 #   define CMPIVersion087 87
00060 #   define CMPIVersion090 90
00061 #   define CMPIVersion100 100 //  1.00
00062 #   define CMPIVersion200 200 //  2.00
00063 
00064 // CMPI_VERSION compile switch should be used during MI compilation only.
00065 // It is used define minimal version support needed from Management Broker.
00066 // This value will be set in <mi-name>_Create<mi-type>MI.mi_version
00067 
00068 #   ifdef CMPI_VERSION
00069 #      if (CMPI_VERSION==200)
00070 #         define CMPI_VER_200 1
00071 #      elif (CMPI_VERSION==100)
00072 #         define CMPI_VER_100 1
00073 #      elif (CMPI_VERSION==90)
00074 #         define CMPI_VER_90 1
00075 #      elif (CMPI_VERSION==87)
00076 #         define CMPI_VER_87 1
00077 #      elif (CMPI_VERSION==86)
00078 #        define CMPI_VER_86 1
00079 #      elif (CMPI_VERSION==85)
00080 #        define CMPI_VER_85 1
00081 #      else
00082 #         error Unsupported CMPI_VERSION defined
00083 #      endif
00084 #   else
00085 #      define CMPI_VER_200
00086 #   endif
00087 
00088 
00089 // CMPI_VER_x switch is used by Management Broker implementations only.
00090 
00091 // It defines the CMPI version supported by the Management Broker.
00092 // This value must be set in the ftVersion field of all functions tables.
00093 
00094 // Version definitions are cumulative.
00095 // A new version definition must #define all previous definitions.
00096 
00097 // During MI loading MBs must ensure that
00098 //  <mi-name>_Create<mi-type>MI.miVersion<=<mi-name>_Create<mi-type>MI.ftVersion
00099 // If this is not the case, the MI might require higher version MB support.
00100 #   if defined (CMPI_VER_200) || defined(CMPI_VER_ALL)
00101 #      define CMPI_VER_100
00102 #      define CMPI_VER_90
00103 #      define CMPI_VER_87
00104 #      define CMPI_VER_86
00105 #      define CMPI_VER_85
00106 #      define CMPICurrentVersion CMPIVersion200
00107 #   elif   defined (CMPI_VER_100)
00108 #      define CMPI_VER_90
00109 #      define CMPI_VER_87
00110 #      define CMPI_VER_86
00111 #      define CMPI_VER_85
00112 #      define CMPICurrentVersion CMPIVersion100
00113 #   elif   defined (CMPI_VER_90)
00114 #      define CMPI_VER_87
00115 #      define CMPI_VER_86
00116 #      define CMPI_VER_85
00117 #      define CMPICurrentVersion CMPIVersion090
00118 #   elif   defined (CMPI_VER_87)
00119 #      define CMPI_VER_86
00120 #      define CMPI_VER_85
00121 #      define CMPICurrentVersion CMPIVersion087
00122 #   elif   defined (CMPI_VER_86)
00123 #      define CMPI_VER_85
00124 #      define CMPICurrentVersion CMPIVersion086
00125 #   elif   defined (CMPI_VER_85)
00126 #      define CMPICurrentVersion CMPIVersion085
00127 #   else                        // default version
00128 #      define CMPI_VER_200
00129 #      define CMPI_VER_100
00130 #      define CMPI_VER_90
00131 #      define CMPI_VER_87
00132 #      define CMPI_VER_86
00133 #      define CMPI_VER_85
00134 #      define CMPICurrentVersion CMPIVersion200
00135 #   endif
00136 
00138   typedef unsigned int CMPICount;
00139 
00140 
00141   struct _CMPIBroker;
00142   struct _CMPIInstance;
00143   struct _CMPIObjectPath;
00144   struct _CMPIArgs;
00145   struct _CMPISelectExp;
00146   struct _CMPISelectCond;
00147   struct _CMPISubCond;
00148   struct _CMPIPredicate;
00149   struct _CMPIEnumeration;
00150   struct _CMPIArray;
00151   struct _CMPIString;
00152   struct _CMPIResult;
00153   struct _CMPIContext;
00154   struct _CMPIDateTime;
00155 
00156   typedef struct _CMPIBroker CMPIBroker;
00157   typedef struct _CMPIInstance CMPIInstance;
00158   typedef struct _CMPIObjectPath CMPIObjectPath;
00159   typedef struct _CMPIArgs CMPIArgs;
00160   typedef struct _CMPISelectExp CMPISelectExp;
00161   typedef struct _CMPISelectCond CMPISelectCond;
00162   typedef struct _CMPISubCond CMPISubCond;
00163   typedef struct _CMPIPredicate CMPIPredicate;
00164   typedef struct _CMPIEnumeration CMPIEnumeration;
00165   typedef struct _CMPIArray CMPIArray;
00166   typedef struct _CMPIString CMPIString;
00167   typedef struct _CMPIResult CMPIResult;
00168   typedef struct _CMPIContext CMPIContext;
00169   typedef struct _CMPIDateTime CMPIDateTime;
00170 
00171 #   ifdef CMPI_VER_200
00172   struct _CMPIError;
00173 
00174   typedef struct _CMPIError CMPIError;
00175 #   endif
00176 
00177   struct _CMPIBrokerFT;
00178   struct _CMPIBrokerEncFT;
00179   struct _CMPIInstanceFT;
00180   struct _CMPIObjectPathFT;
00181   struct _CMPIArgsFT;
00182   struct _CMPISelectExpFT;
00183   struct _CMPISelectCondFT;
00184   struct _CMPISelectCondDocFT;
00185   struct _CMPISelectCondCodFT;
00186   struct _CMPISubCondFT;
00187   struct _CMPIPredicateFT;
00188   struct _CMPIEnumerationFT;
00189   struct _CMPIArrayFT;
00190   struct _CMPIStringFT;
00191   struct _CMPIresultFT;
00192   struct _CMPIContextFT;
00193   struct _CMPIDateTimeFT;
00194 #   ifdef CMPI_VER_200
00195   struct _CMPIBrokerMemFT;
00196   struct _CMPIErrorFT;
00197 
00198   typedef struct _CMPIBrokerMemFT CMPIBrokerMemFT;
00199   typedef struct _CMPIErrorFT CMPIErrorFT;
00200 #   endif
00201   typedef struct _CMPIBrokerFT CMPIBrokerFT;
00202   typedef struct _CMPIBrokerEncFT CMPIBrokerEncFT;
00203   typedef struct _CMPIBrokerExtFT CMPIBrokerExtFT;
00204   typedef struct _CMPIInstanceFT CMPIInstanceFT;
00205   typedef struct _CMPIObjectPathFT CMPIObjectPathFT;
00206   typedef struct _CMPIArgsFT CMPIArgsFT;
00207   typedef struct _CMPISelectExpFT CMPISelectExpFT;
00208   typedef struct _CMPISelectCondFT CMPISelectCondFT;
00209   typedef struct _CMPISubCondFT CMPISubCondFT;
00210   typedef struct _CMPIPredicateFT CMPIPredicateFT;
00211   typedef struct _CMPIEnumerationFT CMPIEnumerationFT;
00212   typedef struct _CMPIArrayFT CMPIArrayFT;
00213   typedef struct _CMPIStringFT CMPIStringFT;
00214   typedef struct _CMPIResultFT CMPIResultFT;
00215   typedef struct _CMPIContextFT CMPIContextFT;
00216   typedef struct _CMPIDateTimeFT CMPIDateTimeFT;
00217 
00218 
00219   typedef unsigned char CMPIBoolean;
00220   typedef unsigned short CMPIChar16;
00221   typedef unsigned char CMPIUint8;
00222   typedef unsigned short CMPIUint16;
00223   typedef unsigned int CMPIUint32;
00224 #   ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
00225   typedef unsigned long long CMPIUint64;
00226 #   else
00227   typedef unsigned __int64 CMPIUint64;
00228 #   endif
00229   typedef signed char CMPISint8;
00230   typedef short CMPISint16;
00231   typedef signed int CMPISint32;
00232 #   ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
00233   typedef long long CMPISint64;
00234 #   else
00235   typedef __int64 CMPISint64;
00236 #   endif
00237   typedef float CMPIReal32;
00238   typedef double CMPIReal64;
00239 
00240   typedef struct _CMPIValuePtr
00241   {
00242     void *ptr;
00243     CMPICount length;
00244   } CMPIValuePtr;
00245 
00246 
00247   typedef union _CMPIValue
00248   {
00249     CMPIUint64 uint64;
00250     CMPIUint32 uint32;
00251     CMPIUint16 uint16;
00252     CMPIUint8 uint8;
00253     CMPISint64 sint64;
00254     CMPISint32 sint32;
00255     CMPISint16 sint16;
00256     CMPISint8 sint8;
00257     CMPIReal64 real64;
00258     CMPIReal32 real32;
00259     CMPIBoolean boolean;
00260     CMPIChar16 char16;
00261 
00262     CMPIInstance *inst;
00263     CMPIObjectPath *ref;
00264     CMPIArgs *args;
00265     CMPISelectExp *filter;
00266     CMPIEnumeration *Enum;
00267     CMPIArray *array;
00268     CMPIString *string;
00269     char *chars;
00270     CMPIDateTime *dateTime;
00271     CMPIValuePtr dataPtr;
00272 
00273     CMPISint8 Byte;
00274     CMPISint16 Short;
00275     CMPISint32 Int;
00276     CMPISint64 Long;
00277     CMPIReal32 Float;
00278     CMPIReal64 Double;
00279   } CMPIValue;
00280 
00281 
00282   typedef unsigned short CMPIType;
00283 
00284 #   define CMPI_null         0
00285 
00286 #   define CMPI_SIMPLE       (2)
00287 #   define CMPI_boolean      (2+0)
00288 #   define CMPI_char16       (2+1)
00289 
00290 #   define CMPI_REAL         ((2)<<2)
00291 #   define CMPI_real32       ((2+0)<<2)
00292 #   define CMPI_real64       ((2+1)<<2)
00293 
00294 #   define CMPI_UINT         ((8)<<4)
00295 #   define CMPI_uint8        ((8+0)<<4)
00296 #   define CMPI_uint16       ((8+1)<<4)
00297 #   define CMPI_uint32       ((8+2)<<4)
00298 #   define CMPI_uint64       ((8+3)<<4)
00299 #   define CMPI_SINT         ((8+4)<<4)
00300 #   define CMPI_sint8        ((8+4)<<4)
00301 #   define CMPI_sint16       ((8+5)<<4)
00302 #   define CMPI_sint32       ((8+6)<<4)
00303 #   define CMPI_sint64       ((8+7)<<4)
00304 #   define CMPI_INTEGER      ((CMPI_UINT | CMPI_SINT))
00305 
00306 #   define CMPI_ENC          ((16)<<8)
00307 #   define CMPI_instance     ((16+0)<<8)
00308 #   define CMPI_ref          ((16+1)<<8)
00309 #   define CMPI_args         ((16+2)<<8)
00310 #   define CMPI_class        ((16+3)<<8)
00311 #   define CMPI_filter       ((16+4)<<8)
00312 #   define CMPI_enumeration  ((16+5)<<8)
00313 #   define CMPI_string       ((16+6)<<8)
00314 #   define CMPI_chars        ((16+7)<<8)
00315 #   define CMPI_dateTime     ((16+8)<<8)
00316 #   define CMPI_ptr          ((16+9)<<8)
00317 #   define CMPI_charsptr     ((16+10)<<8)
00318 
00319 #   define CMPI_ARRAY        ((1)<<13)
00320 #   define CMPI_SIMPLEA      (CMPI_ARRAY | CMPI_SIMPLE)
00321 #   define CMPI_booleanA     (CMPI_ARRAY | CMPI_boolean)
00322 #   define CMPI_char16A      (CMPI_ARRAY | CMPI_char16)
00323 
00324 #   define CMPI_REALA        (CMPI_ARRAY | CMPI_REAL)
00325 #   define CMPI_real32A      (CMPI_ARRAY | CMPI_real32)
00326 #   define CMPI_real64A      (CMPI_ARRAY | CMPI_real64)
00327 
00328 #   define CMPI_UINTA        (CMPI_ARRAY | CMPI_UINT)
00329 #   define CMPI_uint8A       (CMPI_ARRAY | CMPI_uint8)
00330 #   define CMPI_uint16A      (CMPI_ARRAY | CMPI_uint16)
00331 #   define CMPI_uint32A      (CMPI_ARRAY | CMPI_uint32)
00332 #   define CMPI_uint64A      (CMPI_ARRAY | CMPI_uint64)
00333 #   define CMPI_SINTA        (CMPI_ARRAY | CMPI_SINT)
00334 #   define CMPI_sint8A       (CMPI_ARRAY | CMPI_sint8)
00335 #   define CMPI_sint16A      (CMPI_ARRAY | CMPI_sint16)
00336 #   define CMPI_sint32A      (CMPI_ARRAY | CMPI_sint32)
00337 #   define CMPI_sint64A      (CMPI_ARRAY | CMPI_sint64)
00338 #   define CMPI_INTEGERA     (CMPI_ARRAY | CMPI_INTEGER)
00339 
00340 #   define CMPI_ENCA         (CMPI_ARRAY | CMPI_ENC)
00341 #   define CMPI_stringA      (CMPI_ARRAY | CMPI_string)
00342 #   define CMPI_charsA       (CMPI_ARRAY | CMPI_chars)
00343 #   define CMPI_dateTimeA    (CMPI_ARRAY | CMPI_dateTime)
00344 #   define CMPI_instanceA    (CMPI_ARRAY | CMPI_instance)
00345 #   define CMPI_refA         (CMPI_ARRAY | CMPI_ref)
00346 #   define CMPI_charsptrA    (CMPI_ARRAY | CMPI_charsptr)
00347 
00348   // the following are CMPIObjectPath key-types synonyms
00349   // and are valid only when CMPI_keyValue of CMPIValueState is set
00350 
00351 #   define CMPI_keyInteger   (CMPI_sint64)
00352 #   define CMPI_keyString    (CMPI_string)
00353 #   define CMPI_keyBoolean   (CMPI_boolean)
00354 #   define CMPI_keyRef       (CMPI_ref)
00355 
00356   // the following are predicate types only
00357 
00358 #   define CMPI_charString      (CMPI_string)
00359 #   define CMPI_integerString   (CMPI_string | CMPI_sint64)
00360 #   define CMPI_realString      (CMPI_string | CMPI_real64)
00361 #   define CMPI_numericString   (CMPI_string | CMPI_sint64 | CMPI_real64)
00362 #   define CMPI_booleanString   (CMPI_string | CMPI_boolean)
00363 #   define CMPI_dateTimeString  (CMPI_string | CMPI_dateTime)
00364 #   define CMPI_classNameString (CMPI_string | CMPI_class)
00365 #   define CMPI_nameString      (CMPI_string | ((16+10)<<8))
00366 
00376   typedef unsigned short CMPIValueState;
00377 #   define CMPI_goodValue (0)
00378 #   define CMPI_nullValue (1<<8)
00379 #   define CMPI_keyValue  (2<<8)
00380 #   define CMPI_notFound  (4<<8)
00381 #   define CMPI_badValue  (0x80<<8)
00382 
00387   typedef struct _CMPIData
00388   {
00390     CMPIType type;
00394     CMPIValueState state;
00396     CMPIValue value;
00397   } CMPIData;
00398 
00399   typedef CMPIData CMPIAccessor (const char *, void *parm);
00400 
00401 #   ifndef CMPI_NO_SYNONYM_SUPPORT
00402 #      define CMPI_Byte    CMPI_sint8
00403 #      define CMPI_Short   CMPI_sint16
00404 #      define CMPI_Int     CMPI_sint32
00405 #      define CMPI_Long    CMPI_sint64
00406 #      define CMPI_Float   CMPI_real32
00407 #      define CMPI_Double  CMPI_real64
00408 
00409 #      define CMPI_ByteA   CMPI_sint8A
00410 #      define CMPI_ShortA  CMPI_sint16A
00411 #      define CMPI_IntA    CMPI_sint32A
00412 #      define CMPI_LongA   CMPI_sint64A
00413 #      define CMPI_FloatA  CMPI_real32A
00414 #      define CMPI_DoubleA CMPI_real64A
00415 #   endif                       // CMPI_NO_SYNONYM_SUPPORT
00416 
00417   typedef void* CMPIMsgFileHandle;
00418   typedef void CMPIGcStat;
00419 
00433   typedef unsigned int CMPIFlags;
00434 
00435 #   define CMPI_FLAG_LocalOnly          1
00436 #   define CMPI_FLAG_DeepInheritance    2
00437 #   define CMPI_FLAG_IncludeQualifiers  4
00438 #   define CMPI_FLAG_IncludeClassOrigin 8
00439 
00440         /* Authenticated ID of the user requesting this MI invocation. */
00441 #   define CMPIPrincipal       "CMPIPrincipal"
00442         /* CMPIFlags -  invocation flags as specified by the client. */
00443 #   define CMPIInvocationFlags "CMPIInvocationFlags"
00444         /* Namespace for which the MI is started. */
00445 #   define CMPIInitNameSpace   "CMPIInitNameSpace"
00446         /* The role assumed by the current authenticated user. */
00447 #   define CMPIRole            "CMPIRole"
00448         /* The accept language from the request */
00449 #   define CMPIAcceptLanguage  "CMPIAcceptLanguage"
00450         /* The content language of the request */
00451 #   define CMPIContentLanguage "CMPIContentLanguage"
00452 
00456   typedef enum _CMPIrc
00457   {
00459     CMPI_RC_OK = 0,
00461     CMPI_RC_ERR_FAILED = 1,
00463     CMPI_RC_ERR_ACCESS_DENIED = 2,
00465     CMPI_RC_ERR_INVALID_NAMESPACE = 3,
00467     CMPI_RC_ERR_INVALID_PARAMETER = 4,
00469     CMPI_RC_ERR_INVALID_CLASS = 5,
00471     CMPI_RC_ERR_NOT_FOUND = 6,
00473     CMPI_RC_ERR_NOT_SUPPORTED = 7,
00475     CMPI_RC_ERR_CLASS_HAS_CHILDREN = 8,
00477     CMPI_RC_ERR_CLASS_HAS_INSTANCES = 9,
00479     CMPI_RC_ERR_INVALID_SUPERCLASS = 10,
00481     CMPI_RC_ERR_ALREADY_EXISTS = 11,
00483     CMPI_RC_ERR_NO_SUCH_PROPERTY = 12,
00485     CMPI_RC_ERR_TYPE_MISMATCH = 13,
00487     CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED = 14,
00489     CMPI_RC_ERR_INVALID_QUERY = 15,
00491     CMPI_RC_ERR_METHOD_NOT_AVAILABLE = 16,
00493     CMPI_RC_ERR_METHOD_NOT_FOUND = 17,
00497     CMPI_RC_DO_NOT_UNLOAD = 50,
00501     CMPI_RC_NEVER_UNLOAD = 51,
00502     /* Internal CMPI return codes. */
00503     CMPI_RC_ERR_INVALID_HANDLE = 60,
00504     CMPI_RC_ERR_INVALID_DATA_TYPE = 61,
00505     /* Hosting OS errors. */
00506     CMPI_RC_ERROR_SYSTEM = 100,
00507     CMPI_RC_ERROR = 200
00508   } CMPIrc;
00509 
00511   typedef struct _CMPIStatus
00512   {
00516     CMPIrc rc;
00520     CMPIString *msg;
00521   } CMPIStatus;
00522 
00523 
00524   /* Management Broker capabilities and feature support */
00525 
00526 #   define CMPI_MB_Class_0     0x00000001
00527 #   define CMPI_MB_Class_1     0x00000003
00528 #   define CMPI_MB_Class_2     0x00000007
00529 
00530 #   define CMPI_MB_Supports_PropertyMI         0x00000100
00531 #   define CMPI_MB_Supports_IndicationMI       0x00000200
00532 #   define CMPI_MB_Supports_IndicationPolling  0x00000400
00533 #   define CMPI_MB_Supports_QueryNormalization 0x00000800
00534 #   define CMPI_MB_Supports_Qualifier          0x00001000
00535 #   define CMPI_MB_Supports_Schema             0x00003000
00536 
00537 #   ifdef CMPI_VER_200
00538 #      define CMPI_MB_Supports_MemEnhancements   0x00004000
00539 #      define CMPI_MB_Supports_Extended_Error    0x00008000
00540 #   endif
00541 
00542 #   define CMPI_MB_BasicRead 0x00000001
00543 #   define CMPI_MB_BasicWrite 0x00000003
00544 #   define CMPI_MB_InstanceManipulation 0x00000007
00545 #   define CMPI_MB_AssociationTraversal 0x00000009
00546 #   define CMPI_MB_QueryExecution 0x00000011
00547 #   define CMPI_MB_QueryNormalization 0x00000031
00548 #   define CMPI_MB_Indications 0x00000081
00549 #   define CMPI_MB_BasicQualifierSupport 0x00000047
00550 #   define CMPI_MB_OSEncapsulationSupport 0x00000100
00551 
00552 
00553   /* Query Predicate operations */
00554 
00555   typedef enum _CMPIPredOp
00556   {
00557     CMPI_PredOp_Equals = 1,
00558     CMPI_PredOp_NotEquals = 2,
00559     CMPI_PredOp_LessThan = 3,
00560     CMPI_PredOp_GreaterThanOrEquals = 4,
00561     CMPI_PredOp_GreaterThan = 5,
00562     CMPI_PredOp_LessThanOrEquals = 6,
00563     CMPI_PredOp_Isa = 7,
00564     CMPI_PredOp_NotIsa = 8,
00565     CMPI_PredOp_Like = 9,
00566     CMPI_PredOp_NotLike = 10
00567 #   ifdef CMPI_VER_200
00568     ,
00569         CMPI_PredOp_Not_Null = 11,
00570     CMPI_PredOp_Null = 12,
00571     CMPI_PredOp_And = 13,
00572     CMPI_PredOp_Or = 14
00573 #   endif
00574   } CMPIPredOp;
00575 
00577   typedef enum _CMPISeverity
00578   {
00580     CMPI_SEV_ERROR = 1,
00582     CMPI_SEV_INFO = 2,
00584     CMPI_SEV_WARNING = 3,
00586     CMPI_DEV_DEBUG = 4
00587   } CMPISeverity;
00588 
00590   typedef enum _CMPILevel
00591   {
00593     CMPI_LEV_INFO = 1,
00595     CMPI_LEV_WARNING = 2,
00597     CMPI_LEV_VERBOSE = 3
00598   } CMPILevel;
00599 
00601   typedef enum _CMPISelectCondType
00602   {
00604     CMPI_COND_DOC = 0,
00606     CMPI_COND_COD = 1
00607   } CMPISelectCondType;
00608 
00609 #ifdef CMPI_VER_200
00610 
00613 typedef enum _CMPIErrorType {
00615     UnknownErrorType = 0,
00617     OtherErrorType = 1,
00619     CommunicationsError = 2,
00621     QualityOfServiceError = 3,
00623     SoftwareError = 4,
00625     HardwareError = 5,
00627     EnvironmentalError = 6,
00629     SecurityError = 7,
00631     Oversubscription_Error = 8,
00633     UnavailableResourceError = 9,
00635     UnsupportedOperationError = 10
00636 } CMPIErrorType;
00637 
00639 typedef enum _CMPIErrorSeverity {
00641     ErrorSevUnknown = 0,
00643     ErrorSevLow = 2,
00645     ErrorSevMedium = 3,
00647     ErrorSevHigh = 4,
00649     ErrorSevFatal = 5
00650 } CMPIErrorSeverity;
00651 
00653 typedef enum _CMPIErrorProbableCause {
00655         ErrorProbCauseUnknown = 0,
00657         ErrorProbCauseOther = 1,
00659         Adapter_Card_Error = 2,
00661         Application_Subsystem_Failure = 3,
00663         Bandwidth_Reduced = 4,
00665         Connection_Establishment_Error = 5,
00667         Communications_Protocol_Error = 6,
00669         Communications_Subsystem_Failure = 7,
00671         ConfigurationCustomization_Error = 8,
00673         Congestion = 9,
00675         Corrupt_Data = 10,
00677         CPU_Cycles_Limit_Exceeded = 11,
00678         /* Dataset modem error */
00679         DatasetModem_Error = 12,
00681         Degraded_Signal = 13,
00683         DTE_DCE_Interface_Error = 14,
00685         Enclosure_Door_Open = 15,
00687         Equipment_Malfunction = 16,
00689         Excessive_Vibration = 17,
00691         File_Format_Error = 18,
00693         Fire_Detected = 19,
00695         Flood_Detected = 20,
00697         Framing_Error = 21,
00699         HVAC_Problem = 22,
00700         /* Humidity unacceptable */
00701         Humidity_Unacceptable = 23,
00703         IO_Device_Error = 24,
00705         Input_Device_Error = 25,
00707         LAN_Error = 26,
00709         Non_Toxic_Leak_Detected = 27,
00710         /* Local node transmission error */
00711         Local_Node_Transmission_Error = 28,
00713         Loss_of_Frame = 29,
00715         Loss_of_Signal = 30,
00717         Material_Supply_Exhausted = 31,
00719         Multiplexer_Problem = 32,
00721         Out_of_Memory = 33,
00723         Output_Device_Error = 34,
00725         Performance_Degraded = 35,
00727         Power_Problem = 36,
00729         Pressure_Unacceptable = 37,
00731         Processor_Problem = 38,
00733         Pump_Failure = 39,
00735         Queue_Size_Exceeded = 40,
00737         Receive_Failure = 41,
00739         Receiver_Failure = 42,
00741         Remote_Node_Transmission_Error = 43,
00743         Resource_at_or_Nearing_Capacity = 44,
00745         Response_Time_Excessive = 45,
00747         Retransmission_Rate_Excessive = 46,
00749         Software_Error = 47,
00751         Software_Program_Abnormally_Terminated = 48,
00753         Software_Program_Error = 49,
00755         Storage_Capacity_Problem = 50,
00757         Temperature_Unacceptable = 51,
00759         Threshold_Crossed = 52,
00761         Timing_Problem = 53,
00763         Toxic_Leak_Detected = 54,
00765         Transmit_Failure = 55,
00767         Transmitter_Failure = 56,
00769         Underlying_Resource_Unavailable = 57,
00771         Version_Mismatch = 58,
00773         Previous_Alert_Cleared = 59,
00775         Login_Attempts_Failed = 60,
00777         Software_Virus_Detected = 61,
00779         Hardware_Security_Breached = 62,
00781         Denial_of_Service_Detected = 63,
00783         Security_Credential_Mismatch = 64,
00785         Unauthorized_Access = 65,
00787         Alarm_Received = 66,
00789         Loss_of_Pointer = 67,
00791         Payload_Mismatch = 68,
00793         Transmission_Error = 69,
00795         Excessive_Error_Rate = 70,
00797         Trace_Problem = 71,
00799         Element_Unavailable = 72,
00801         Element_Missing = 73,
00803         Loss_of_Multi_Frame = 74,
00805         Broadcast_Channel_Failure = 75,
00807         Invalid_Message_Received = 76,
00809         Routing_Failure = 77,
00811         Backplane_Failure = 78,
00813         Identifier_Duplication = 79,
00815         Protection_Path_Failure = 80,
00817         Sync_Loss_or_Mismatch = 81,
00819         Terminal_Problem = 82,
00821         Real_Time_Clock_Failure = 83,
00823         Antenna_Failure = 84,
00825         Battery_Charging_Failure = 85,
00827         Disk_Failure = 86,
00829         Frequency_Hopping_Failure = 87,
00831         Loss_of_Redundancy = 88,
00833         Power_Supply_Failure = 89,
00835         Signal_Quality_Problem = 90,
00837         Battery_Discharging = 91,
00839         Battery_Failure = 92,
00841         Commercial_Power_Problem = 93,
00843         Fan_Failure = 94,
00845         Engine_Failure = 95,
00847         Sensor_Failure = 96,
00849         Fuse_Failure = 97,
00851         Generator_Failure = 98,
00853         Low_Battery = 99,
00855         Low_Fuel = 100,
00857         Low_Water = 101,
00859         Explosive_Gas = 102,
00861         High_Winds = 103,
00863         Ice_Buildup = 104,
00865         Smoke = 105,
00867         Memory_Mismatch = 106,
00869         Out_of_CPU_Cycles = 107,
00871         Software_Environment_Problem = 108,
00873         Software_Download_Failure = 109,
00875         Element_Reinitialized = 110,
00877         Timeout = 111,
00879         Logging_Problems = 112,
00881         Leak_Detected_113,
00883         Protection_Mechanism_Failure = 114,
00885         Protecting_Resource_Failure = 115,
00887         Database_Inconsistency = 116,
00889         Authentication_Failure = 117,
00891         Breach_of_Confidentiality = 118,
00893         Cable_Tamper = 119,
00895         Delayed_Information = 120,
00897         Duplicate_Information = 121,
00899         Information_Missing = 122,
00901         Information_Modification = 123,
00903         Information_Out_of_Sequence = 124,
00905         Key_Expired = 125,
00907         Non_Repudiation_Failure = 126,
00909         Out_of_Hours_Activity = 127,
00911         Out_of_Service = 128,
00913         Procedural_Error = 129,
00915         Unexpected_Information = 130
00916 } CMPIErrorProbableCause;
00917 
00919 typedef enum _CMPIErrorSrcFormat {
00921     CMPIErrSrcUnknown = 0,
00923     CMPIErrSrcOther = 1,
00924         /* Object handle */
00925     CIMObjectHandle = 2
00926 } CMPIErrorSrcFormat;
00927 
00928 #endif /* CMPI_VER_200 */
00929 
00930 #   ifdef __cplusplus
00931 }
00932 #   endif
00933 
00934 #endif // _CMPIDT_H_

Generated on Sat Feb 26 13:04:34 2022 for cmpi by  doxygen 1.4.6