CMPI 2.1.0 API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Data Structures | Macros | Typedefs | Enumerations
cmpidt.h File Reference

Defines CMPI data types. More...

#include <cmpipl.h>
#include <cmpios.h>

Go to the source code of this file.

Data Structures

struct  CMPIValuePtr
 A raw unformatted data area of a specified size. More...
 
union  CMPIValue
 A union that can hold a value of any of the data types defined in CMPI. More...
 
struct  CMPIData
 A structure type representing a CMPI data item. More...
 
struct  CMPIStatus
 A structure that indicates success or failure of MB and MI functions. More...
 

Macros

#define CMPIVersion100   100
 CMPI 1.0.0.
 
#define CMPIVersion200   200
 CMPI 2.0.0.
 
#define CMPIVersion210   210
 CMPI 2.1.0.
 
#define CMPICurrentVersion   CMPIVersion210
 Current CMPI version of the header files. More...
 
#define CMPI_VERSION   CMPICurrentVersion
 CMPI version that is implemented. More...
 
#define CMPI_VER_100   1
 Check for features introduced in CMPI 1.0.0.
 
#define CMPI_VER_200   1
 Check for features introduced in CMPI 2.0.0.
 
#define CMPI_VER_210   1
 Check for features introduced in CMPI 2.1.0.
 
#define CMPIInitNameSpace   "CMPIInitNameSpace"
 Name of the target namespace for the invoked operation. More...
 
#define CMPIInvocationFlags   "CMPIInvocationFlags"
 Invocation flags for the invoked operation; see CMPIFlags. More...
 
#define CMPIPrincipal   "CMPIPrincipal"
 Authenticated ID of the user requesting the invoked operation. More...
 
#define CMPIRole   "CMPIRole"
 The role assumed by the current authenticated user. More...
 
#define CMPIAcceptLanguage   "CMPIAcceptLanguage"
 The preferred language(s) to be used by the MI. More...
 
#define CMPIContentLanguage   "CMPIContentLanguage"
 The language(s) used by the MB. More...
 
#define CMPI_MB_BasicRead   0x00000001
 Test mask for Basic Read capability.
 
#define CMPI_MB_BasicWrite   0x00000003
 Test mask for Basic Write capability.
 
#define CMPI_MB_InstanceManipulation   0x00000007
 Test mask for Instance Manipulation capability.
 
#define CMPI_MB_AssociationTraversal   0x00000009
 Test mask for Association Traversal capability.
 
#define CMPI_MB_QueryExecution   0x00000011
 Test mask for Query Execution capability.
 
#define CMPI_MB_QueryNormalization   0x00000031
 Test mask for Query Normalization capability.
 
#define CMPI_MB_BasicQualifierSupport   0x00000047
 Test mask for Basic Qualifier capability.
 
#define CMPI_MB_Indications   0x00000081
 Test mask for Indications capability.
 
#define CMPI_MB_OSEncapsulationSupport   0x00000100
 Test mask for OS Encapsulation Services capability.
 
#define CMPI_MB_Supports_MemEnhancements   0x00004000
 Test mask for Memory Enhancement Services capability. More...
 
#define CMPI_MB_Supports_Extended_Error   0x00008000
 Test mask for Extended Errors capability. More...
 
#define CMPI_MB_Logging   0x00010000
 Test mask for Logging capability. More...
 
#define CMPI_MB_Tracing   0x00020000
 Test mask for Tracing capability. More...
 
#define CMPI_MB_PropertyFiltering   0x00040001
 Test mask for Property Filtering capability. More...
 
#define CMPI_MB_CodepageConversion   0x00080000
 Test mask for Codepage Conversion capability. More...
 
Test masks and values for CMPIType

These test masks and values are used on CMPIType.

#define CMPI_null   0
 No type.
 
#define CMPI_SIMPLE   (2)
 Test mask for CIM simple types.
 
#define CMPI_boolean   (2+0)
 Indicates a CMPIValue.boolean value.
 
#define CMPI_char16   (2+1)
 Indicates a CMPIValue.char16 value.
 
#define CMPI_REAL   ((2)<<2)
 Test mask for CIM real number types.
 
#define CMPI_real32   ((2+0)<<2)
 Indicates a CMPIValue.real32 value.
 
#define CMPI_real64   ((2+1)<<2)
 Indicates a CMPIValue.real64 value.
 
#define CMPI_UINT   ((8)<<4)
 
#define CMPI_uint8   ((8+0)<<4)
 Indicates a CMPIValue.uint8 value.
 
#define CMPI_uint16   ((8+1)<<4)
 Indicates a CMPIValue.uint16 value.
 
#define CMPI_uint32   ((8+2)<<4)
 Indicates a CMPIValue.uint32 value.
 
#define CMPI_uint64   ((8+3)<<4)
 
#define CMPI_SINT   ((8+4)<<4)
 
#define CMPI_sint8   ((8+4)<<4)
 Indicates a CMPIValue.sint8 value.
 
#define CMPI_sint16   ((8+5)<<4)
 Indicates a CMPIValue.sint16 value.
 
#define CMPI_sint32   ((8+6)<<4)
 Indicates a CMPIValue.sint32 value.
 
#define CMPI_sint64   ((8+7)<<4)
 
#define CMPI_INTEGER   ((CMPI_UINT|CMPI_SINT))
 Test mask for CIM integer types.
 
#define CMPI_ENC   ((16)<<8)
 Test mask for CMPI encapsulated data types.
 
#define CMPI_instance   ((16+0)<<8)
 Indicates a CMPIValue.inst value.
 
#define CMPI_ref   ((16+1)<<8)
 Indicates a CMPIValue.ref value.
 
#define CMPI_args   ((16+2)<<8)
 Indicates a CMPIValue.args value.
 
#define CMPI_class   ((16+3)<<8)
 Not used.
 
#define CMPI_filter   ((16+4)<<8)
 Indicates a CMPIValue.filter value.
 
#define CMPI_enumeration   ((16+5)<<8)
 Indicates a CMPIValue.Enum value.
 
#define CMPI_string   ((16+6)<<8)
 Indicates a CMPIValue.string value.
 
#define CMPI_chars   ((16+7)<<8)
 Indicates a CMPIValue.chars value.
 
#define CMPI_dateTime   ((16+8)<<8)
 Indicates a CMPIValue.dateTime value.
 
#define CMPI_ptr   ((16+9)<<8)
 Indicates a CMPIValue.dataPtr value.
 
#define CMPI_charsptr   ((16+10)<<8)
 Not used.
 
#define CMPI_ARRAY   ((1)<<13)
 Test mask for arrays.
 
#define CMPI_SIMPLEA   (CMPI_ARRAY|CMPI_SIMPLE)
 Test mask for array of CIM simple types.
 
#define CMPI_booleanA   (CMPI_ARRAY|CMPI_boolean)
 Indicates a CMPIValue.array value with CMPIBoolean entries.
 
#define CMPI_char16A   (CMPI_ARRAY|CMPI_char16)
 Indicates a CMPIValue.array value with CMPIChar16 entries.
 
#define CMPI_REALA   (CMPI_ARRAY|CMPI_REAL)
 Test mask for array of CIM real numbers.
 
#define CMPI_real32A   (CMPI_ARRAY|CMPI_real32)
 Indicates a CMPIValue.array value with CMPIReal32 entries.
 
#define CMPI_real64A   (CMPI_ARRAY|CMPI_real64)
 Indicates a CMPIValue.array value with CMPIReal64 entries.
 
#define CMPI_UINTA   (CMPI_ARRAY|CMPI_UINT)
 Test mask for array of CIM unsigned integers.
 
#define CMPI_uint8A   (CMPI_ARRAY|CMPI_uint8)
 Indicates a CMPIValue.array value with CMPIUint8 entries.
 
#define CMPI_uint16A   (CMPI_ARRAY|CMPI_uint16)
 Indicates a CMPIValue.array value with CMPIUint16 entries.
 
#define CMPI_uint32A   (CMPI_ARRAY|CMPI_uint32)
 Indicates a CMPIValue.array value with CMPIUint32 entries.
 
#define CMPI_uint64A   (CMPI_ARRAY|CMPI_uint64)
 Indicates a CMPIValue.array value with CMPIUint64 entries.
 
#define CMPI_SINTA   (CMPI_ARRAY|CMPI_SINT)
 Test mask for array of CIM signed integers.
 
#define CMPI_sint8A   (CMPI_ARRAY|CMPI_sint8)
 Indicates a CMPIValue.array value with CMPISint8 entries.
 
#define CMPI_sint16A   (CMPI_ARRAY|CMPI_sint16)
 Indicates a CMPIValue.array value with CMPISint16 entries.
 
#define CMPI_sint32A   (CMPI_ARRAY|CMPI_sint32)
 Indicates a CMPIValue.array value with CMPISint32 entries.
 
#define CMPI_sint64A   (CMPI_ARRAY|CMPI_sint64)
 Indicates a CMPIValue.array value with CMPISint64 entries.
 
#define CMPI_INTEGERA   (CMPI_ARRAY|CMPI_INTEGER)
 Test mask for array of CIM integers.
 
#define CMPI_ENCA   (CMPI_ARRAY|CMPI_ENC)
 Test mask for array of CMPI encapsulated data types.
 
#define CMPI_instanceA   (CMPI_ARRAY|CMPI_instance)
 Indicates a CMPIValue.array value with CMPIInstance entries.
 
#define CMPI_refA   (CMPI_ARRAY|CMPI_ref)
 Indicates a CMPIValue.array value with CMPIObjectPath entries.
 
#define CMPI_stringA   (CMPI_ARRAY|CMPI_string)
 Indicates a CMPIValue.array value with CMPIString entries.
 
#define CMPI_charsA   (CMPI_ARRAY|CMPI_chars)
 Indicates a CMPIValue.array value with C string entries.
 
#define CMPI_dateTimeA   (CMPI_ARRAY|CMPI_dateTime)
 Indicates a CMPIValue.array value with CMPIDateTime entries.
 
#define CMPI_charsptrA   (CMPI_ARRAY|CMPI_charsptr)
 Not used.
 
#define CMPI_keyInteger   (CMPI_sint64)
 Generic integer type in CMPIObjectPath.
 
#define CMPI_keyString   (CMPI_string)
 Generic string type in CMPIObjectPath.
 
#define CMPI_keyBoolean   (CMPI_boolean)
 Generic boolean type in CMPIObjectPath.
 
#define CMPI_keyRef   (CMPI_ref)
 Generic reference type in CMPIObjectPath.
 
#define CMPI_charString   (CMPI_string)
 Predicate type for strings.
 
#define CMPI_integerString   (CMPI_string | CMPI_sint64)
 Predicate type for integers.
 
#define CMPI_realString   (CMPI_string | CMPI_real64)
 Predicate type for real numbers.
 
#define CMPI_numericString   (CMPI_string | CMPI_sint64 | CMPI_real64)
 Predicate type for numbers.
 
#define CMPI_booleanString   (CMPI_string | CMPI_boolean)
 Predicate type for booleans.
 
#define CMPI_dateTimeString   (CMPI_string | CMPI_dateTime)
 Predicate type for datetime.
 
#define CMPI_classNameString   (CMPI_string | CMPI_class)
 Predicate type for class names.
 
#define CMPI_nameString   (CMPI_string | ((16+10)<<8))
 Predicate type for names.
 
Test masks for CMPIValueState

These test masks are used on CMPIValueState.

#define CMPI_goodValue   (0)
 
#define CMPI_nullValue   (1<<8)
 
#define CMPI_keyValue   (2<<8)
 
#define CMPI_notFound   (4<<8)
 
#define CMPI_badValue   (0x80<<8)
 
Test masks for CMPIFlags

These test masks are used on CMPIFlags.

For considerations on the use of CMPI_FLAG_LocalOnly and CMPI_FLAG_DeepInheritance, see Subclause 4.4 of the CMPI Standard.

#define CMPI_FLAG_LocalOnly   1
 LocalOnly flag.
 
#define CMPI_FLAG_DeepInheritance   2
 DeepInheritance flag.
 
#define CMPI_FLAG_IncludeQualifiers   4
 IncludeQualifiers flag.
 
#define CMPI_FLAG_IncludeClassOrigin   8
 IncludeClassOrigin flag.
 

Typedefs

typedef unsigned char CMPIBoolean
 CIM data type boolean.
 
typedef unsigned short CMPIChar16
 CIM data type char16.
 
typedef unsigned char CMPIUint8
 CIM data type uint8.
 
typedef unsigned short CMPIUint16
 CIM data type uint16.
 
typedef unsigned int CMPIUint32
 CIM data type uint32.
 
typedef unsigned long long CMPIUint64
 CIM data type uint64. More...
 
typedef signed char CMPISint8
 CIM data type sint8.
 
typedef short CMPISint16
 CIM data type sint16.
 
typedef signed int CMPISint32
 CIM data type sint32.
 
typedef long long CMPISint64
 CIM data type sint64. More...
 
typedef float CMPIReal32
 CIM data type real32.
 
typedef double CMPIReal64
 CIM data type real64.
 
typedef unsigned int CMPICount
 An unsigned integer that specifies a number of elements or position in a sequential data type. More...
 
typedef unsigned short CMPIType
 A bitmask type representing a CMPI type. More...
 
typedef unsigned short CMPIValueState
 A bitmask type representing the state of a value in a CMPIData object. More...
 
typedef CMPIData CMPIAccessor (const char *propertyName, void *parm)
 A function type for accessing data during query processing. More...
 
typedef CMPI_THREAD_RETURN(CMPI_THREAD_CDECLCMPIThreadFunc )(void *parm)
 A function pointer type for a POSIX thread function. More...
 
typedef void(* CMPIThreadOnceFunc )(void)
 A function pointer type for a function that is called once in a POSIX thread. More...
 
typedef void(* CMPIThreadKeyCleanupFunc )(void *key)
 A function pointer type for a POSIX thread key cleanup function. More...
 
typedef void * CMPIMsgFileHandle
 An opaque type representing a handle to an open message file.
 
typedef void CMPIGcStat
 An opaque type that is used by the MB for use with the CMPIBrokerMemFT.mark() and CMPIBrokerMemFT.release() functions.
 
typedef unsigned int CMPIFlags
 A bitmask type that represents options specified by the WBEM client. More...
 
typedef int CMPIVersion
 A type for CMPI version fields (mainly in function tables). More...
 

Enumerations

enum  CMPIrc {
  CMPI_RC_OK = 0, CMPI_RC_ERR_FAILED = 1, CMPI_RC_ERR_ACCESS_DENIED = 2, CMPI_RC_ERR_INVALID_NAMESPACE = 3,
  CMPI_RC_ERR_INVALID_PARAMETER = 4, CMPI_RC_ERR_INVALID_CLASS = 5, CMPI_RC_ERR_NOT_FOUND = 6, CMPI_RC_ERR_NOT_SUPPORTED = 7,
  CMPI_RC_ERR_CLASS_HAS_CHILDREN = 8, CMPI_RC_ERR_CLASS_HAS_INSTANCES = 9, CMPI_RC_ERR_INVALID_SUPERCLASS = 10, CMPI_RC_ERR_ALREADY_EXISTS = 11,
  CMPI_RC_ERR_NO_SUCH_PROPERTY = 12, CMPI_RC_ERR_TYPE_MISMATCH = 13, CMPI_RC_ERR_QUERY_LANGUAGE_NOT_SUPPORTED = 14, CMPI_RC_ERR_INVALID_QUERY = 15,
  CMPI_RC_ERR_METHOD_NOT_AVAILABLE = 16, CMPI_RC_ERR_METHOD_NOT_FOUND = 17, CMPI_RC_NO_MORE_ELEMENTS = 18, CMPI_RC_ERR_SERVER_LIMITS_EXCEEDED = 27,
  CMPI_RC_ERR_QUERY_FEATURE_NOT_SUPPORTED = 29, CMPI_RC_DO_NOT_UNLOAD = 50, CMPI_RC_NEVER_UNLOAD = 51, CMPI_RC_ERR_INVALID_HANDLE = 60,
  CMPI_RC_ERR_INVALID_DATA_TYPE = 61, CMPI_RC_ERR_NOT_IN_CODEPAGE = 62, CMPI_RC_ERROR_SYSTEM = 100, CMPI_RC_ERROR = 200
}
 An enumeration type that defines CMPI return code values. More...
 
enum  CMPIPredOp
 An enumeration type that defines predicate operators in parsed queries.
 
enum  CMPISeverity { CMPI_SEV_ERROR = 1, CMPI_SEV_INFO = 2, CMPI_SEV_WARNING = 3, CMPI_DEV_DEBUG = 4 }
 An enumeration type that defines severity levels for logging functions. More...
 
enum  CMPILevel { CMPI_LEV_INFO = 1, CMPI_LEV_WARNING = 2, CMPI_LEV_VERBOSE = 3 }
 An enumeration type that defines logging levels for trace functions. More...
 
enum  CMPIErrorType {
  UnknownErrorType = 0, OtherErrorType = 1, CommunicationsError = 2, QualityOfServiceError = 3,
  SoftwareError = 4, HardwareError = 5, EnvironmentalError = 6, SecurityError = 7,
  OversubscriptionError = 8, Oversubscription_Error = OversubscriptionError, UnavailableResourceError = 9, UnsupportedOperationError = 10
}
 An enumeration type that defines possible values for the error type in a CMPIError object. More...
 
enum  CMPIErrorSeverity {
  ErrorSevUnknown = 0, ErrorSevLow = 2, ErrorSevMedium = 3, ErrorSevHigh = 4,
  ErrorSevFatal = 5
}
 An enumeration type that defines possible values for the error severity in a CMPIError object. More...
 
enum  CMPIErrorProbableCause {
  ErrorProbCauseUnknown = 0, ErrorProbCauseOther = 1, Adapter_Card_Error = 2, Application_Subsystem_Failure = 3,
  Bandwidth_Reduced = 4, Connection_Establishment_Error = 5, Communications_Protocol_Error = 6, Communications_Subsystem_Failure = 7,
  ConfigurationCustomization_Error = 8, Congestion = 9, Corrupt_Data = 10, CPU_Cycles_Limit_Exceeded = 11,
  DatasetModem_Error = 12, Degraded_Signal = 13, DTE_DCE_Interface_Error = 14, Enclosure_Door_Open = 15,
  Equipment_Malfunction = 16, Excessive_Vibration = 17, File_Format_Error = 18, Fire_Detected = 19,
  Flood_Detected = 20, Framing_Error = 21, HVAC_Problem = 22, Humidity_Unacceptable = 23,
  IO_Device_Error = 24, Input_Device_Error = 25, LAN_Error = 26, Non_Toxic_Leak_Detected = 27,
  Local_Node_Transmission_Error = 28, Loss_of_Frame = 29, Loss_of_Signal = 30, Material_Supply_Exhausted = 31,
  Multiplexer_Problem = 32, Out_of_Memory = 33, Output_Device_Error = 34, Performance_Degraded = 35,
  Power_Problem = 36, Pressure_Unacceptable = 37, Processor_Problem = 38, Pump_Failure = 39,
  Queue_Size_Exceeded = 40, Receive_Failure = 41, Receiver_Failure = 42, Remote_Node_Transmission_Error = 43,
  Resource_at_or_Nearing_Capacity = 44, Response_Time_Excessive = 45, Retransmission_Rate_Excessive = 46, Software_Error = 47,
  Software_Program_Abnormally_Terminated = 48, Software_Program_Error = 49, Storage_Capacity_Problem = 50, Temperature_Unacceptable = 51,
  Threshold_Crossed = 52, Timing_Problem = 53, Toxic_Leak_Detected = 54, Transmit_Failure = 55,
  Transmitter_Failure = 56, Underlying_Resource_Unavailable = 57, Version_Mismatch = 58, Previous_Alert_Cleared = 59,
  Login_Attempts_Failed = 60, Software_Virus_Detected = 61, Hardware_Security_Breached = 62, Denial_of_Service_Detected = 63,
  Security_Credential_Mismatch = 64, Unauthorized_Access = 65, Alarm_Received = 66, Loss_of_Pointer = 67,
  Payload_Mismatch = 68, Transmission_Error = 69, Excessive_Error_Rate = 70, Trace_Problem = 71,
  Element_Unavailable = 72, Element_Missing = 73, Loss_of_Multi_Frame = 74, Broadcast_Channel_Failure = 75,
  Invalid_Message_Received = 76, Routing_Failure = 77, Backplane_Failure = 78, Identifier_Duplication = 79,
  Protection_Path_Failure = 80, Sync_Loss_or_Mismatch = 81, Terminal_Problem = 82, Real_Time_Clock_Failure = 83,
  Antenna_Failure = 84, Battery_Charging_Failure = 85, Disk_Failure = 86, Frequency_Hopping_Failure = 87,
  Loss_of_Redundancy = 88, Power_Supply_Failure = 89, Signal_Quality_Problem = 90, Battery_Discharging = 91,
  Battery_Failure = 92, Commercial_Power_Problem = 93, Fan_Failure = 94, Engine_Failure = 95,
  Sensor_Failure = 96, Fuse_Failure = 97, Generator_Failure = 98, Low_Battery = 99,
  Low_Fuel = 100, Low_Water = 101, Explosive_Gas = 102, High_Winds = 103,
  Ice_Buildup = 104, Smoke = 105, Memory_Mismatch = 106, Out_of_CPU_Cycles = 107,
  Software_Environment_Problem = 108, Software_Download_Failure = 109, Element_Reinitialized = 110, Timeout = 111,
  Logging_Problems = 112, Leak_Detected = 113, Protection_Mechanism_Failure = 114, Protecting_Resource_Failure = 115,
  Database_Inconsistency = 116, Authentication_Failure = 117, Breach_of_Confidentiality = 118, Cable_Tamper = 119,
  Delayed_Information = 120, Duplicate_Information = 121, Information_Missing = 122, Information_Modification = 123,
  Information_Out_of_Sequence = 124, Key_Expired = 125, Non_Repudiation_Failure = 126, Out_of_Hours_Activity = 127,
  Out_of_Service = 128, Procedural_Error = 129, Unexpected_Information = 130
}
 An enumeration type that defines possible values for the probable cause in a CMPIError object. More...
 
enum  CMPIErrorSrcFormat { CMPIErrSrcUnknown = 0, CMPIErrSrcOther = 1, CIMObjectHandle = 2 }
 An enumeration type that defines possible values for the source format in a CMPIError object. More...
 
enum  CMPICodepageID { CMPI_CPID_SYSTEM = 1, CMPI_CPID_USASCII = 2, CMPI_CPID_UTF16 = 3 }
 An enumeration type that identifies a codepage for CMPI codepage support. More...
 

Detailed Description

Defines CMPI data types.

MIs and MBs do not need to include this header file because it is already included when including the main header file cmpift.h.

This header file belongs to the Open Group Technical Standard: Systems Management: Common Manageability Programming Interface (CMPI Standard), Issue 2 Version 1.

This header file is provided as a convenience only. In the case of any discrepancy between the header file and the CMPI Standard (incorporating any subsequent Technical Corrigenda), the CMPI Standard shall be definitive.