cmpidt.h
1 //%LICENSE////////////////////////////////////////////////////////////////
2 //
3 // Licensed to The Open Group (TOG) under one or more contributor license
4 // agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
5 // this work for additional information regarding copyright ownership.
6 // Each contributor licenses this file to you under the OpenPegasus Open
7 // Source License; you may not use this file except in compliance with the
8 // License.
9 //
10 // Permission is hereby granted, free of charge, to any person obtaining a
11 // copy of this software and associated documentation files (the "Software"),
12 // to deal in the Software without restriction, including without limitation
13 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
14 // and/or sell copies of the Software, and to permit persons to whom the
15 // Software is furnished to do so, subject to the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be included
18 // in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
21 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
23 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
24 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
25 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
26 // SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
29 //
30 //%////////////////////////////////////////////////////////////////////////////
31 
32 #ifndef _CMPIDT_H_
33 # define _CMPIDT_H_
34 
35 # include "cmpipl.h"
36 
37 # ifdef __cplusplus
38 extern "C"
39 {
40 # endif
41 
42 // definition of version numbers to be used by providers using
43 // CMBrokerVersion() They indicate what CMPI version is supported
44 // by both the broker and its adapter
45 
46 #define CMPIVersion051 51 // 0.51
47 #define CMPIVersion060 60 // 0.60
48 #define CMPIVersion070 70 // 0.70
49 #define CMPIVersion080 80 // 0.80
50 #define CMPIVersion085 85 // 0.85
51 #define CMPIVersion086 86 // 0.86
52 #define CMPIVersion087 87 // 0.87
53 #define CMPIVersion090 90 // 0.90
54 #define CMPIVersion100 100 // 1.00
55 #define CMPIVersion200 200 // 2.00
56 
57 // CMPI_VERSION compile switch should be used during MI compilation only.
58 // It is used define minimal version support needed from Management Broker.
59 // This value will be set in <mi-name>_Create<mi-type>MI.mi_version
60 
61 #ifdef CMPI_VERSION
62 # if (CMPI_VERSION==80)
63 # define CMPI_VER_80 1
64 # elif (CMPI_VERSION==85)
65 # define CMPI_VER_85 1
66 # elif (CMPI_VERSION==86)
67 # define CMPI_VER_86 1
68 # elif (CMPI_VERSION==87)
69 # define CMPI_VER_87 1
70 # elif (CMPI_VERSION==90)
71 # define CMPI_VER_90 1
72 # elif (CMPI_VERSION==100)
73 # define CMPI_VER_100 1
74 # elif (CMPI_VERSION==200)
75 # define CMPI_VER_200 1
76 # else
77 # error Unsupported CMPI_VERSION defined
78 # endif
79 #else
80 # define CMPI_VER_200
81 #endif
82 
83 // CMPI_VER_x switch is used by Management Broker implementations only.
84 
85 // It defines the CMPI version supported by the Management Broker.
86 // This value must be set in the ftVersion field of all functions tables.
87 
88 // Version definitions are cumulative.
89 // A new version definition must #define all previous definitions.
90 
91 // During MI loading MBs must ensure that
92 // <mi-name>_Create<mi-type>MI.miVersion<=<mi-name>_Create<mi-type>MI.ftVersion
93 // If this is not the case, the MI might require higher version MB support.
94 
95 #if defined (CMPI_VER_200) || defined(CMPI_VER_ALL)
96 // CMPI Standard Version 2.0
97 # define CMPI_VER_100
98 # define CMPI_VER_90
99 # define CMPI_VER_87
100 # define CMPI_VER_86
101 # define CMPI_VER_85
102 # define CMPI_VER_80
103 # define CMPICurrentVersion CMPIVersion200
104 #elif defined (CMPI_VER_100)
105 // CMPI Standard Version 1.0
106 # define CMPI_VER_90
107 # define CMPI_VER_87
108 # define CMPI_VER_86
109 # define CMPI_VER_85
110 # define CMPI_VER_80
111 # define CMPICurrentVersion CMPIVersion100
112 #elif defined (CMPI_VER_90)
113 // added Ext function table and getKeyList
114 # define CMPI_VER_87
115 # define CMPI_VER_86
116 # define CMPI_VER_85
117 # define CMPI_VER_80
118 # define CMPICurrentVersion CMPIVersion090
119 #elif defined (CMPI_VER_87)
120 // added evaluateUsingAccessor in _CMPISelectExp
121 # define CMPI_VER_86
122 # define CMPI_VER_85
123 # define CMPI_VER_80
124 # define CMPICurrentVersion CMPIVersion087
125 #elif defined (CMPI_VER_86)
126 // enable() disable() support in _CMPIIndicationMIFT
127 // toString() in _CMPIObjectPathFT
128 // support for NULL return from <mi-name>_Create<mi-type>MI
129 # define CMPI_VER_85
130 # define CMPI_VER_80
131 # define CMPICurrentVersion CMPIVersion086
132 #elif defined (CMPI_VER_85)
133 // getMessage() globalization support in _CMPIBrokerEncFT
134 # define CMPI_VER_80
135 # define CMPICurrentVersion CMPIVersion085
136 #elif defined (CMPI_VER_80)
137 # define CMPICurrentVersion CMPIVersion080
138 #else
139 // Default version is 2.0
140 # define CMPI_VER_200
141 # define CMPI_VER_100
142 # define CMPI_VER_90
143 # define CMPI_VER_87
144 # define CMPI_VER_86
145 # define CMPI_VER_85
146 # define CMPI_VER_80
147 # define CMPICurrentVersion CMPIVersion200
148 #endif
149 
153  typedef unsigned int CMPICount;
154 
155  struct _CMPIBroker;
156  struct _CMPIInstance;
157  struct _CMPIObjectPath;
158  struct _CMPIArgs;
159  struct _CMPISelectExp;
160  struct _CMPISelectCond;
161  struct _CMPISubCond;
162  struct _CMPIPredicate;
163  struct _CMPIEnumeration;
164  struct _CMPIArray;
165  struct _CMPIString;
166  struct _CMPIResult;
167  struct _CMPIContext;
168  struct _CMPIDateTime;
169 
170  typedef struct _CMPIBroker CMPIBroker;
171  typedef struct _CMPIInstance CMPIInstance;
172  typedef struct _CMPIObjectPath CMPIObjectPath;
173  typedef struct _CMPIArgs CMPIArgs;
174  typedef struct _CMPISelectExp CMPISelectExp;
175  typedef struct _CMPISelectCond CMPISelectCond;
176  typedef struct _CMPISubCond CMPISubCond;
177  typedef struct _CMPIPredicate CMPIPredicate;
178  typedef struct _CMPIEnumeration CMPIEnumeration;
179  typedef struct _CMPIArray CMPIArray;
180  typedef struct _CMPIString CMPIString;
181  typedef struct _CMPIResult CMPIResult;
182  typedef struct _CMPIContext CMPIContext;
183  typedef struct _CMPIDateTime CMPIDateTime;
184 
185 #ifdef CMPI_VER_200
186  struct _CMPIError;
187 
188  typedef struct _CMPIError CMPIError;
189 #endif
190 
191  struct _CMPIBrokerFT;
192  struct _CMPIBrokerEncFT;
193  struct _CMPIInstanceFT;
194  struct _CMPIObjectPathFT;
195  struct _CMPIArgsFT;
196  struct _CMPISelectExpFT;
197  struct _CMPISelectCondFT;
198  struct _CMPISelectCondDocFT;
199  struct _CMPISelectCondCodFT;
200  struct _CMPISubCondFT;
201  struct _CMPIPredicateFT;
202  struct _CMPIEnumerationFT;
203  struct _CMPIArrayFT;
204  struct _CMPIStringFT;
205  struct _CMPIresultFT;
206  struct _CMPIContextFT;
207  struct _CMPIDateTimeFT;
208 
209 #ifdef CMPI_VER_200
210  struct _CMPIBrokerMemFT;
211  struct _CMPIErrorFT;
212 
213  typedef struct _CMPIBrokerMemFT CMPIBrokerMemFT;
214  typedef struct _CMPIErrorFT CMPIErrorFT;
215 #endif
216 
217  typedef struct _CMPIBrokerFT CMPIBrokerFT;
218  typedef struct _CMPIBrokerEncFT CMPIBrokerEncFT;
219  typedef struct _CMPIBrokerExtFT CMPIBrokerExtFT;
220  typedef struct _CMPIInstanceFT CMPIInstanceFT;
221  typedef struct _CMPIObjectPathFT CMPIObjectPathFT;
222  typedef struct _CMPIArgsFT CMPIArgsFT;
223  typedef struct _CMPISelectExpFT CMPISelectExpFT;
224  typedef struct _CMPISelectCondFT CMPISelectCondFT;
225  typedef struct _CMPISubCondFT CMPISubCondFT;
226  typedef struct _CMPIPredicateFT CMPIPredicateFT;
227  typedef struct _CMPIEnumerationFT CMPIEnumerationFT;
228  typedef struct _CMPIArrayFT CMPIArrayFT;
229  typedef struct _CMPIStringFT CMPIStringFT;
230  typedef struct _CMPIResultFT CMPIResultFT;
231  typedef struct _CMPIContextFT CMPIContextFT;
232  typedef struct _CMPIDateTimeFT CMPIDateTimeFT;
233 
234  typedef unsigned char CMPIBoolean;
235  typedef unsigned short CMPIChar16;
236  typedef unsigned char CMPIUint8;
237  typedef unsigned short CMPIUint16;
238  typedef unsigned int CMPIUint32;
239 #ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
240  typedef unsigned long long CMPIUint64;
241 #else
242  typedef unsigned __int64 CMPIUint64;
243 #endif
244  typedef signed char CMPISint8;
245  typedef short CMPISint16;
246  typedef signed int CMPISint32;
247 #ifndef CMPI_PLATFORM_WIN32_IX86_MSVC
248  typedef long long CMPISint64;
249 #else
250  typedef __int64 CMPISint64;
251 #endif
252  typedef float CMPIReal32;
253  typedef double CMPIReal64;
254 
259  typedef struct _CMPIValuePtr
260  {
264  void *ptr;
265 
269  CMPICount length;
270  } CMPIValuePtr;
271 
275  typedef union _CMPIValue
276  {
280  CMPIUint64 uint64;
284  CMPIUint32 uint32;
288  CMPIUint16 uint16;
292  CMPIUint8 uint8;
296  CMPISint64 sint64;
300  CMPISint32 sint32;
304  CMPISint16 sint16;
308  CMPISint8 sint8;
312  CMPIReal64 real64;
316  CMPIReal32 real32;
320  CMPIBoolean boolean;
324  CMPIChar16 char16;
356  char *chars;
368  CMPISint8 Byte;
372  CMPISint16 Short;
376  CMPISint32 Int;
380  CMPISint64 Long;
384  CMPIReal32 Float;
388  CMPIReal64 Double;
389  } CMPIValue;
390 
391  typedef unsigned short CMPIType;
392 
393 #define CMPI_null 0
394 
395 #define CMPI_SIMPLE (2)
396 #define CMPI_boolean (2+0)
397 #define CMPI_char16 (2+1)
398 
399 #define CMPI_REAL ((2)<<2)
400 #define CMPI_real32 ((2+0)<<2)
401 #define CMPI_real64 ((2+1)<<2)
402 
403 #define CMPI_UINT ((8)<<4)
404 #define CMPI_uint8 ((8+0)<<4)
405 #define CMPI_uint16 ((8+1)<<4)
406 #define CMPI_uint32 ((8+2)<<4)
407 #define CMPI_uint64 ((8+3)<<4)
408 #define CMPI_SINT ((8+4)<<4)
409 #define CMPI_sint8 ((8+4)<<4)
410 #define CMPI_sint16 ((8+5)<<4)
411 #define CMPI_sint32 ((8+6)<<4)
412 #define CMPI_sint64 ((8+7)<<4)
413 #define CMPI_INTEGER ((CMPI_UINT | CMPI_SINT))
414 
415 #define CMPI_ENC ((16)<<8)
416 #define CMPI_instance ((16+0)<<8)
417 #define CMPI_ref ((16+1)<<8)
418 #define CMPI_args ((16+2)<<8)
419 #define CMPI_class ((16+3)<<8)
420 #define CMPI_filter ((16+4)<<8)
421 #define CMPI_enumeration ((16+5)<<8)
422 #define CMPI_string ((16+6)<<8)
423 #define CMPI_chars ((16+7)<<8)
424 #define CMPI_dateTime ((16+8)<<8)
425 #define CMPI_ptr ((16+9)<<8)
426 #define CMPI_charsptr ((16+10)<<8)
427 
428 #define CMPI_ARRAY ((1)<<13)
429 #define CMPI_SIMPLEA (CMPI_ARRAY | CMPI_SIMPLE)
430 #define CMPI_booleanA (CMPI_ARRAY | CMPI_boolean)
431 #define CMPI_char16A (CMPI_ARRAY | CMPI_char16)
432 
433 #define CMPI_REALA (CMPI_ARRAY | CMPI_REAL)
434 #define CMPI_real32A (CMPI_ARRAY | CMPI_real32)
435 #define CMPI_real64A (CMPI_ARRAY | CMPI_real64)
436 
437 #define CMPI_UINTA (CMPI_ARRAY | CMPI_UINT)
438 #define CMPI_uint8A (CMPI_ARRAY | CMPI_uint8)
439 #define CMPI_uint16A (CMPI_ARRAY | CMPI_uint16)
440 #define CMPI_uint32A (CMPI_ARRAY | CMPI_uint32)
441 #define CMPI_uint64A (CMPI_ARRAY | CMPI_uint64)
442 #define CMPI_SINTA (CMPI_ARRAY | CMPI_SINT)
443 #define CMPI_sint8A (CMPI_ARRAY | CMPI_sint8)
444 #define CMPI_sint16A (CMPI_ARRAY | CMPI_sint16)
445 #define CMPI_sint32A (CMPI_ARRAY | CMPI_sint32)
446 #define CMPI_sint64A (CMPI_ARRAY | CMPI_sint64)
447 #define CMPI_INTEGERA (CMPI_ARRAY | CMPI_INTEGER)
448 
449 #define CMPI_ENCA (CMPI_ARRAY | CMPI_ENC)
450 #define CMPI_stringA (CMPI_ARRAY | CMPI_string)
451 #define CMPI_charsA (CMPI_ARRAY | CMPI_chars)
452 #define CMPI_dateTimeA (CMPI_ARRAY | CMPI_dateTime)
453 #define CMPI_instanceA (CMPI_ARRAY | CMPI_instance)
454 #define CMPI_refA (CMPI_ARRAY | CMPI_ref)
455 #define CMPI_charsptrA (CMPI_ARRAY | CMPI_charsptr)
456 
457 // the following are CMPIObjectPath key-types synonyms
458 // and are valid only when CMPI_keyValue of CMPIValueState is set
459 
460 #define CMPI_keyInteger (CMPI_sint64)
461 #define CMPI_keyString (CMPI_string)
462 #define CMPI_keyBoolean (CMPI_boolean)
463 #define CMPI_keyRef (CMPI_ref)
464 
465 // the following are predicate types only
466 
467 #define CMPI_charString (CMPI_string)
468 #define CMPI_integerString (CMPI_string | CMPI_sint64)
469 #define CMPI_realString (CMPI_string | CMPI_real64)
470 #define CMPI_numericString (CMPI_string | CMPI_sint64 | CMPI_real64)
471 #define CMPI_booleanString (CMPI_string | CMPI_boolean)
472 #define CMPI_dateTimeString (CMPI_string | CMPI_dateTime)
473 #define CMPI_classNameString (CMPI_string | CMPI_class)
474 #define CMPI_nameString (CMPI_string | ((16+10)<<8))
475 
487  typedef unsigned short CMPIValueState;
488 #define CMPI_goodValue (0)
489 #define CMPI_nullValue (1<<8)
490 #define CMPI_keyValue (2<<8)
491 #define CMPI_notFound (4<<8)
492 #define CMPI_badValue (0x80<<8)
493 
499  typedef struct _CMPIData
500  {
504  CMPIType type;
509  CMPIValueState state;
515  } CMPIData;
516 
517 #ifdef CMPI_VER_87
518  typedef CMPIData CMPIAccessor (const char *, void *parm);
519 #endif
520 
521 #ifndef CMPI_NO_SYNONYM_SUPPORT
522 # define CMPI_Byte CMPI_sint8
523 # define CMPI_Short CMPI_sint16
524 # define CMPI_Int CMPI_sint32
525 # define CMPI_Long CMPI_sint64
526 # define CMPI_Float CMPI_real32
527 # define CMPI_Double CMPI_real64
528 
529 # define CMPI_ByteA CMPI_sint8A
530 # define CMPI_ShortA CMPI_sint16A
531 # define CMPI_IntA CMPI_sint32A
532 # define CMPI_LongA CMPI_sint64A
533 # define CMPI_FloatA CMPI_real32A
534 # define CMPI_DoubleA CMPI_real64A
535 #endif // CMPI_NO_SYNONYM_SUPPORT
536 
537  typedef void * CMPIMsgFileHandle;
538 
539  typedef void CMPIGcStat;
540 
555  typedef unsigned int CMPIFlags;
556 
557 #define CMPI_FLAG_LocalOnly 1
558 #define CMPI_FLAG_DeepInheritance 2
559 #define CMPI_FLAG_IncludeQualifiers 4
560 #define CMPI_FLAG_IncludeClassOrigin 8
561 
562 /* Authenticated ID of the user requesting this MI invocation. */
563 #define CMPIPrincipal "CMPIPrincipal"
564 /* CMPIFlags - invocation flags as specified by the client. */
565 #define CMPIInvocationFlags "CMPIInvocationFlags"
566 /* Namespace for which the MI is started. */
567 #define CMPIInitNameSpace "CMPIInitNameSpace"
568 /* The role assumed by the current authenticated user. */
569 #define CMPIRole "CMPIRole"
570 /* The accept language from the request */
571 #define CMPIAcceptLanguage "CMPIAcceptLanguage"
572 /* The content language of the response */
573 #define CMPIContentLanguage "CMPIContentLanguage"
574 
579  typedef enum _CMPIrc
580  {
584  CMPI_RC_OK = 0,
588  CMPI_RC_ERR_FAILED = 1,
593  CMPI_RC_ERR_ACCESS_DENIED = 2,
597  CMPI_RC_ERR_INVALID_NAMESPACE = 3,
601  CMPI_RC_ERR_INVALID_PARAMETER = 4,
605  CMPI_RC_ERR_INVALID_CLASS = 5,
609  CMPI_RC_ERR_NOT_FOUND = 6,
613  CMPI_RC_ERR_NOT_SUPPORTED = 7,
617  CMPI_RC_ERR_CLASS_HAS_CHILDREN = 8,
621  CMPI_RC_ERR_CLASS_HAS_INSTANCES = 9,
625  CMPI_RC_ERR_INVALID_SUPERCLASS = 10,
629  CMPI_RC_ERR_ALREADY_EXISTS = 11,
633  CMPI_RC_ERR_NO_SUCH_PROPERTY = 12,
637  CMPI_RC_ERR_TYPE_MISMATCH = 13,
641  CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED = 14,
645  CMPI_RC_ERR_INVALID_QUERY = 15,
649  CMPI_RC_ERR_METHOD_NOT_AVAILABLE = 16,
653  CMPI_RC_ERR_METHOD_NOT_FOUND = 17,
657  CMPI_RC_NO_MORE_ELEMENTS = 18,
662  CMPI_RC_DO_NOT_UNLOAD = 50,
667  CMPI_RC_NEVER_UNLOAD = 51,
668  /* Internal CMPI return codes. */
669  CMPI_RC_ERR_INVALID_HANDLE = 60,
670  CMPI_RC_ERR_INVALID_DATA_TYPE = 61,
671  /* Hosting OS errors. */
672  CMPI_RC_ERROR_SYSTEM = 100,
673  CMPI_RC_ERROR = 200
674  } CMPIrc;
675 
679  typedef struct _CMPIStatus
680  {
685  CMPIrc rc;
691  } CMPIStatus;
692 
693  /* Management Broker capabilities and feature support */
694 
695 #define CMPI_MB_Class_0 0x00000001
696 #define CMPI_MB_Class_1 0x00000003
697 #define CMPI_MB_Class_2 0x00000007
698 
699 #define CMPI_MB_Supports_PropertyMI 0x00000100
700 #define CMPI_MB_Supports_IndicationMI 0x00000200
701 #define CMPI_MB_Supports_IndicationPolling 0x00000400
702 #define CMPI_MB_Supports_QueryNormalization 0x00000800
703 #define CMPI_MB_Supports_Qualifier 0x00001000
704 #define CMPI_MB_Supports_Schema 0x00003000
705 
706 #ifdef CMPI_VER_200
707 # define CMPI_MB_Supports_MemEnhancements 0x00004000
708 # define CMPI_MB_Supports_Extended_Error 0x00008000
709 #endif
710 
711 #define CMPI_MB_BasicRead 0x00000001
712 #define CMPI_MB_BasicWrite 0x00000003
713 #define CMPI_MB_InstanceManipulation 0x00000007
714 #define CMPI_MB_AssociationTraversal 0x00000009
715 #define CMPI_MB_QueryExecution 0x00000011
716 #define CMPI_MB_QueryNormalization 0x00000031
717 #define CMPI_MB_Indications 0x00000081
718 #define CMPI_MB_BasicQualifierSupport 0x00000047
719 #define CMPI_MB_OSEncapsulationSupport 0x00000100
720 
721  /* Query Predicate operations */
722 
723  typedef enum _CMPIPredOp
724  {
725  CMPI_PredOp_Equals = 1,
726  CMPI_PredOp_NotEquals = 2,
727  CMPI_PredOp_LessThan = 3,
728  CMPI_PredOp_GreaterThanOrEquals = 4,
729  CMPI_PredOp_GreaterThan = 5,
730  CMPI_PredOp_LessThanOrEquals = 6,
731  CMPI_PredOp_Isa = 7,
732  CMPI_PredOp_NotIsa = 8,
733  CMPI_PredOp_Like = 9,
734  CMPI_PredOp_NotLike = 10,
735 #ifdef CMPI_VER_200
736  CMPI_PredOp_Not_Null = 11,
737  CMPI_PredOp_Null = 12,
738  CMPI_PredOp_And = 13,
739  CMPI_PredOp_Or = 14
740 #endif
741  } CMPIPredOp;
742 
746  typedef enum _CMPISeverity
747  {
751  CMPI_SEV_ERROR = 1,
755  CMPI_SEV_INFO = 2,
759  CMPI_SEV_WARNING = 3,
763  CMPI_DEV_DEBUG = 4
764  } CMPISeverity;
765 
769  typedef enum _CMPILevel
770  {
774  CMPI_LEV_INFO = 1,
778  CMPI_LEV_WARNING = 2,
782  CMPI_LEV_VERBOSE = 3
783  } CMPILevel;
784 
788  typedef enum _CMPISelectCondType
789  {
793  CMPI_COND_DOC = 0,
797  CMPI_COND_COD = 1
798  } CMPISelectCondType;
799 
800 #ifdef CMPI_VER_200
801 
805  typedef enum _CMPIErrorType
806  {
810  UnknownErrorType = 0,
814  OtherErrorType = 1,
818  CommunicationsError = 2,
822  QualityOfServiceError = 3,
826  SoftwareError = 4,
830  HardwareError = 5,
834  EnvironmentalError = 6,
838  SecurityError = 7,
842  Oversubscription_Error = 8,
846  UnavailableResourceError = 9,
850  UnsupportedOperationError = 10
851  } CMPIErrorType;
852 
856  typedef enum _CMPIErrorSeverity
857  {
861  ErrorSevUnknown = 0,
865  ErrorSevLow = 2,
869  ErrorSevMedium = 3,
873  ErrorSevHigh = 4,
877  ErrorSevFatal = 5
878  } CMPIErrorSeverity;
879 
883  typedef enum _CMPIErrorProbableCause
884  {
888  ErrorProbCauseUnknown = 0,
892  ErrorProbCauseOther = 1,
896  Adapter_Card_Error = 2,
900  Application_Subsystem_Failure = 3,
904  Bandwidth_Reduced = 4,
908  Connection_Establishment_Error = 5,
912  Communications_Protocol_Error = 6,
916  Communications_Subsystem_Failure = 7,
920  ConfigurationCustomization_Error = 8,
924  Congestion = 9,
928  Corrupt_Data = 10,
932  CPU_Cycles_Limit_Exceeded = 11,
936  DatasetModem_Error = 12,
940  Degraded_Signal = 13,
944  DTE_DCE_Interface_Error = 14,
948  Enclosure_Door_Open = 15,
952  Equipment_Malfunction = 16,
956  Excessive_Vibration = 17,
960  File_Format_Error = 18,
964  Fire_Detected = 19,
968  Flood_Detected = 20,
972  Framing_Error = 21,
976  HVAC_Problem = 22,
977  /* Humidity unacceptable */
978  Humidity_Unacceptable = 23,
982  IO_Device_Error = 24,
986  Input_Device_Error = 25,
990  LAN_Error = 26,
994  Non_Toxic_Leak_Detected = 27,
995  /* Local node transmission error */
996  Local_Node_Transmission_Error = 28,
1000  Loss_of_Frame = 29,
1004  Loss_of_Signal = 30,
1008  Material_Supply_Exhausted = 31,
1012  Multiplexer_Problem = 32,
1016  Out_of_Memory = 33,
1020  Output_Device_Error = 34,
1024  Performance_Degraded = 35,
1028  Power_Problem = 36,
1032  Pressure_Unacceptable = 37,
1036  Processor_Problem = 38,
1040  Pump_Failure = 39,
1044  Queue_Size_Exceeded = 40,
1048  Receive_Failure = 41,
1052  Receiver_Failure = 42,
1056  Remote_Node_Transmission_Error = 43,
1060  Resource_at_or_Nearing_Capacity = 44,
1064  Response_Time_Excessive = 45,
1068  Retransmission_Rate_Excessive = 46,
1072  Software_Error = 47,
1076  Software_Program_Abnormally_Terminated = 48,
1080  Software_Program_Error = 49,
1084  Storage_Capacity_Problem = 50,
1088  Temperature_Unacceptable = 51,
1092  Threshold_Crossed = 52,
1096  Timing_Problem = 53,
1100  Toxic_Leak_Detected = 54,
1104  Transmit_Failure = 55,
1108  Transmitter_Failure = 56,
1112  Underlying_Resource_Unavailable = 57,
1116  Version_Mismatch = 58,
1120  Previous_Alert_Cleared = 59,
1124  Login_Attempts_Failed = 60,
1128  Software_Virus_Detected = 61,
1132  Hardware_Security_Breached = 62,
1136  Denial_of_Service_Detected = 63,
1140  Security_Credential_Mismatch = 64,
1144  Unauthorized_Access = 65,
1148  Alarm_Received = 66,
1152  Loss_of_Pointer = 67,
1156  Payload_Mismatch = 68,
1160  Transmission_Error = 69,
1164  Excessive_Error_Rate = 70,
1168  Trace_Problem = 71,
1172  Element_Unavailable = 72,
1176  Element_Missing = 73,
1180  Loss_of_Multi_Frame = 74,
1184  Broadcast_Channel_Failure = 75,
1188  Invalid_Message_Received = 76,
1192  Routing_Failure = 77,
1196  Backplane_Failure = 78,
1200  Identifier_Duplication = 79,
1204  Protection_Path_Failure = 80,
1208  Sync_Loss_or_Mismatch = 81,
1212  Terminal_Problem = 82,
1216  Real_Time_Clock_Failure = 83,
1220  Antenna_Failure = 84,
1224  Battery_Charging_Failure = 85,
1228  Disk_Failure = 86,
1232  Frequency_Hopping_Failure = 87,
1236  Loss_of_Redundancy = 88,
1240  Power_Supply_Failure = 89,
1244  Signal_Quality_Problem = 90,
1248  Battery_Discharging = 91,
1252  Battery_Failure = 92,
1256  Commercial_Power_Problem = 93,
1260  Fan_Failure = 94,
1264  Engine_Failure = 95,
1268  Sensor_Failure = 96,
1272  Fuse_Failure = 97,
1276  Generator_Failure = 98,
1280  Low_Battery = 99,
1284  Low_Fuel = 100,
1288  Low_Water = 101,
1292  Explosive_Gas = 102,
1296  High_Winds = 103,
1300  Ice_Buildup = 104,
1304  Smoke = 105,
1308  Memory_Mismatch = 106,
1312  Out_of_CPU_Cycles = 107,
1316  Software_Environment_Problem = 108,
1320  Software_Download_Failure = 109,
1324  Element_Reinitialized = 110,
1328  Timeout = 111,
1332  Logging_Problems = 112,
1336  Leak_Detected_113,
1340  Protection_Mechanism_Failure = 114,
1344  Protecting_Resource_Failure = 115,
1348  Database_Inconsistency = 116,
1352  Authentication_Failure = 117,
1356  Breach_of_Confidentiality = 118,
1360  Cable_Tamper = 119,
1364  Delayed_Information = 120,
1368  Duplicate_Information = 121,
1372  Information_Missing = 122,
1376  Information_Modification = 123,
1380  Information_Out_of_Sequence = 124,
1384  Key_Expired = 125,
1388  Non_Repudiation_Failure = 126,
1392  Out_of_Hours_Activity = 127,
1396  Out_of_Service = 128,
1400  Procedural_Error = 129,
1404  Unexpected_Information = 130
1405  } CMPIErrorProbableCause;
1406 
1410  typedef enum _CMPIErrorSrcFormat
1411  {
1415  CMPIErrSrcUnknown = 0,
1419  CMPIErrSrcOther = 1,
1420  /* Object handle */
1421  CIMObjectHandle = 2
1422  } CMPIErrorSrcFormat;
1423 
1424 #endif /* CMPI_VER_200 */
1425 
1426 #ifdef __cplusplus
1427 };
1428 #endif
1429 
1430 #endif // _CMPIDT_H_
CMPIUint64 uint64
Definition: cmpidt.h:280
Definition: cmpift.h:2862
Definition: cmpift.h:2376
Definition: cmpift.h:2400
Definition: cmpidt.h:499
Definition: cmpift.h:1916
Definition: cmpift.h:2888
CMPIType type
Definition: cmpidt.h:504
CMPISint16 Short
Definition: cmpidt.h:372
char * chars
Definition: cmpidt.h:356
CMPIChar16 char16
Definition: cmpidt.h:324
Definition: cmpift.h:1462
Definition: cmpidt.h:259
CMPIBoolean boolean
Definition: cmpidt.h:320
Definition: cmpift.h:1941
Definition: cmpift.h:1357
Definition: cmpidt.h:275
CMPISint64 sint64
Definition: cmpidt.h:296
Definition: cmpift.h:1014
Definition: cmpift.h:2288
CMPIValueState state
Definition: cmpidt.h:509
Definition: cmpift.h:2951
Definition: cmpift.h:1334
Definition: cmpift.h:1202
CMPIValue value
Definition: cmpidt.h:514
Definition: cmpift.h:1766
CMPISint32 Int
Definition: cmpidt.h:376
CMPIUint16 uint16
Definition: cmpidt.h:288
Definition: cmpift.h:2469
CMPISint16 sint16
Definition: cmpidt.h:304
CMPIUint8 uint8
Definition: cmpidt.h:292
Definition: cmpift.h:57
CMPISelectExp * filter
Definition: cmpidt.h:340
CMPIrc rc
Definition: cmpidt.h:685
Definition: cmpift.h:2783
CMPIReal64 Double
Definition: cmpidt.h:388
void * ptr
Definition: cmpidt.h:264
Definition: cmpift.h:2314
Definition: cmpift.h:2175
CMPIReal64 real64
Definition: cmpidt.h:312
Definition: cmpift.h:1741
Definition: cmpift.h:2977
Definition: cmpift.h:2200
Definition: cmpidt.h:679
CMPIArray * array
Definition: cmpidt.h:348
CMPIInstance * inst
Definition: cmpidt.h:328
CMPIReal32 real32
Definition: cmpidt.h:316
CMPIArgs * args
Definition: cmpidt.h:336
CMPIReal32 Float
Definition: cmpidt.h:384
Definition: cmpift.h:1382
Definition: cmpift.h:2712
Definition: cmpift.h:1248
Definition: cmpift.h:2601
CMPIValuePtr dataPtr
Definition: cmpidt.h:364
Definition: cmpift.h:2686
Definition: cmpift.h:2757
Definition: cmpift.h:2494
CMPISint8 sint8
Definition: cmpidt.h:308
Definition: cmpift.h:804
Definition: cmpift.h:1486
CMPIString * string
Definition: cmpidt.h:352
CMPIUint32 uint32
Definition: cmpidt.h:284
CMPICount length
Definition: cmpidt.h:269
Definition: cmpift.h:2575
CMPISint64 Long
Definition: cmpidt.h:380
CMPIEnumeration * Enum
Definition: cmpidt.h:344
CMPIObjectPath * ref
Definition: cmpidt.h:332
CMPISint32 sint32
Definition: cmpidt.h:300
CMPIDateTime * dateTime
Definition: cmpidt.h:360
Definition: cmpift.h:382
CMPIString * msg
Definition: cmpidt.h:690
CMPISint8 Byte
Definition: cmpidt.h:368