cmpi
|
00001 /* 00002 * 00003 * $Id: cmpidt.h,v 1.7 2009/03/04 17:46:42 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_