From: Gareth S B. <bes...@us...> - 2005-06-02 19:54:54
|
Update of /cvsroot/sblim/cmpi-tests/cmpi-reef/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16208/src Modified Files: TST_Reef.c Log Message: fixes for http://sourceforge.net/tracker/index.php?func=detail&aid=1213754&group_id=128809&atid=712784 Index: TST_Reef.c =================================================================== RCS file: /cvsroot/sblim/cmpi-tests/cmpi-reef/src/TST_Reef.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- TST_Reef.c 10 May 2005 00:01:34 -0000 1.1.1.1 +++ TST_Reef.c 2 Jun 2005 19:54:45 -0000 1.2 @@ -1,4 +1,3 @@ - /* * TST_Reef.c * @@ -32,51 +31,45 @@ #include "TST_Reef.h" typedef unsigned char UCHAR; -typedef int INT32; - +typedef int INT32; - typedef struct SmRasMrLogicalVolumeStruct - { - UCHAR storFacilImageMTMS[18]; - INT32 volumeType; - UCHAR logicalVolumeNum[3]; - UCHAR logicalSubsystem[2]; - INT32 lssGroup; - UCHAR addressGroup[2]; - INT32 aliasVolumeGroup; - UCHAR origBaseLogVolNum[3]; - UCHAR userName[17]; - INT32 segPool; - INT32 dataType; - INT32 dynamicSegAlloc; - INT32 dataSharingAllowed; - INT32 overridDefPriority; - INT32 defPriorityOverVal; - INT32 ckdPriorityOffset; - INT32 requestedCapacity; - INT32 capacity; - INT32 deviceMTM; - UCHAR ckdVolumeSerialNum[7]; - INT32 accessState; - INT32 dataState; - INT32 configurationState; - INT32 creationDate; - UCHAR codeLevel[17]; - } SmRasMrLogicalVolume; +typedef struct SmRasMrLogicalVolumeStruct { + UCHAR storFacilImageMTMS[18]; + INT32 volumeType; + UCHAR logicalVolumeNum[3]; + UCHAR logicalSubsystem[2]; + INT32 lssGroup; + UCHAR addressGroup[2]; + INT32 aliasVolumeGroup; + UCHAR origBaseLogVolNum[3]; + UCHAR userName[17]; + INT32 segPool; + INT32 dataType; + INT32 dynamicSegAlloc; + INT32 dataSharingAllowed; + INT32 overridDefPriority; + INT32 defPriorityOverVal; + INT32 ckdPriorityOffset; + INT32 requestedCapacity; + INT32 capacity; + INT32 deviceMTM; + UCHAR ckdVolumeSerialNum[7]; + INT32 accessState; + INT32 dataState; + INT32 configurationState; + INT32 creationDate; + UCHAR codeLevel[17]; +} SmRasMrLogicalVolume; static CMPIBroker * _broker; -static char * _ClassName = "Reef_LogicalVolume"; +static char * _ClassName = "Reef_LogicalVolume"; +static SmRasMrLogicalVolume next_lv; #define REEF_MAX_STRING_SIZE 256 -//#define REEF_NUM_INSTANCES 16000 +//#define REEF_NUM_INSTANCES 16000 #define REEF_NUM_INSTANCES 4000 // ========================================================================== - -SmRasMrLogicalVolume next_lv; - -// ========================================================================== - // Property names. These values are returned by the provider as // the property names. // ========================================================================== @@ -106,179 +99,214 @@ #define PROPERTY_LOGICAL_VOLUME_CREATION_DATE "creationDate" #define PROPERTY_LOGICAL_VOLUME_CODE_LEVEL "codeLevel" +// ========================================================================== -void -make_dummy_LogicalVolume(void) +void make_dummy_LogicalVolume( void ) { - /* Fill the object */ - - memset( (char *)&next_lv, 0, sizeof(SmRasMrLogicalVolume)); - - strcpy((char *)next_lv.storFacilImageMTMS, "storFacilImageM"); - next_lv.volumeType = 5; - - next_lv.capacity = 89+7; - next_lv.deviceMTM = 98 * 7; - next_lv.dataState = 5665%1000; - next_lv.configurationState = 4 + 16000; - next_lv.overridDefPriority = 999; - strcpy((char *)next_lv.codeLevel, "aaabbbccc"); - next_lv.segPool = 999%1000; - next_lv.lssGroup = 16000 - 7; - next_lv.aliasVolumeGroup = 45 * 3; - next_lv.dataType = 56%10; - strcpy((char *)next_lv.ckdVolumeSerialNum, "abcdef"); - strcpy((char *)next_lv.userName, "Avi Weit"); - + /* Fill the object */ + memset( (char *)&next_lv, 0, sizeof(SmRasMrLogicalVolume)); + + strcpy((char *)next_lv.storFacilImageMTMS, "storFacilImageM"); + next_lv.volumeType = 5; + next_lv.capacity = 89+7; + next_lv.deviceMTM = 98 * 7; + next_lv.dataState = 5665%1000; + next_lv.configurationState = 4 + 16000; + next_lv.overridDefPriority = 999; + strcpy((char *)next_lv.codeLevel, "aaabbbccc"); + next_lv.segPool = 999%1000; + next_lv.lssGroup = 16000 - 7; + next_lv.aliasVolumeGroup = 45 * 3; + next_lv.dataType = 56%10; + strcpy((char *)next_lv.ckdVolumeSerialNum, "abcdef"); + strcpy((char *)next_lv.userName, "Avi Weit"); } -CMPIStatus Reef_ProviderCleanup( CMPIInstanceMI * mi, - CMPIContext * ctx) { +// ========================================================================== - CMReturn(CMPI_RC_OK); +CMPIStatus Reef_ProviderCleanup( + CMPIInstanceMI * mi, + CMPIContext * ctx) +{ + CMReturn(CMPI_RC_OK); } +// ========================================================================== -CMPIStatus Reef_ProviderEnumInstanceNames( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * ref) { - - CMPIStatus rc = {CMPI_RC_OK, NULL}; - - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); +CMPIStatus Reef_ProviderEnumInstanceNames( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * ref) +{ + CMPIInstance* ci = NULL; + CMPIObjectPath* op = NULL; + CMPIStatus rc = {CMPI_RC_OK, NULL}; + int i = 0; + CMPISint32 key = 0; - return rc; + /* temporary */ + make_dummy_LogicalVolume(); + + do { + ci = _makeInst_Reef_LogicalVolume( _broker, ctx, ref, &rc ); + + if( ci == NULL || rc.rc != CMPI_RC_OK ) { + //printf("Reef_ProviderEnumInstances: Error occured"); + CMSetStatusWithChars( _broker, &rc, + CMPI_RC_ERR_FAILED, "Transformation from internal structure to CIM Instance failed." ); + goto exit; + } + + key++; + CMSetProperty(ci,"key",&key,CMPI_sint32); + + op = CMGetObjectPath(ci, NULL); + CMSetNameSpace(op,CMGetCharPtr(CMGetNameSpace(ref,NULL))); + rc = CMReturnObjectPath( rslt, op ); + if( rc.rc != CMPI_RC_OK ) printf("Error in CMReturnInstance!!\n"); + + //printf("Returned instance num: %d\n"); + i++; + if ( i == REEF_NUM_INSTANCES ) break; + } while(1); + CMReturnDone( rslt ); + +exit: + return rc; } -CMPIStatus Reef_ProviderEnumInstances( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * ref, - char ** properties) { - CMPIInstance* ci = NULL; - CMPIStatus rc = {CMPI_RC_OK, NULL}; - int i= 0; - CMPISint32 key=0; +// ========================================================================== + +CMPIStatus Reef_ProviderEnumInstances( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * ref, + char ** properties) +{ + CMPIInstance* ci = NULL; + CMPIStatus rc = {CMPI_RC_OK, NULL}; + int i = 0; + CMPISint32 key = 0; - /* temporary */ - make_dummy_LogicalVolume(); + /* temporary */ + make_dummy_LogicalVolume(); - do - { - ci = _makeInst_Reef_LogicalVolume( _broker, ctx, ref, &rc ); - + do { + ci = _makeInst_Reef_LogicalVolume( _broker, ctx, ref, &rc ); - if( ci == NULL || rc.rc != CMPI_RC_OK ) { - + if( ci == NULL || rc.rc != CMPI_RC_OK ) { //printf("Reef_ProviderEnumInstances: Error occured"); CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_FAILED, "Transformation from internal structure to CIM Instance failed." ); goto exit; - } + } - key++; - CMSetProperty(ci,"key",&key,CMPI_sint32); + key++; + CMSetProperty(ci,"key",&key,CMPI_sint32); - rc = CMReturnInstance( rslt, ci ); - if( rc.rc != CMPI_RC_OK ) - printf("Error in CMReturnInstance!!\n"); + rc = CMReturnInstance( rslt, ci ); + if( rc.rc != CMPI_RC_OK ) printf("Error in CMReturnInstance!!\n"); - //printf("Returned instance num: %d\n"); - i++; - if ( i == REEF_NUM_INSTANCES ) - break; - - }while(1); - CMReturnDone( rslt ); + //printf("Returned instance num: %d\n"); + i++; + if ( i == REEF_NUM_INSTANCES ) break; + } while(1); + CMReturnDone( rslt ); - exit: - return rc; +exit: + return rc; } -CMPIStatus Reef_ProviderGetInstance( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * cop, - char ** properties) { - - CMPIStatus rc = {CMPI_RC_OK, NULL}; +// ========================================================================== + +CMPIStatus Reef_ProviderGetInstance( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * cop, + char ** properties) +{ + CMPIStatus rc = {CMPI_RC_OK, NULL}; - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); - return rc; -} + CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); + return rc; +} +// ========================================================================== -CMPIStatus Reef_ProviderCreateInstance( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * cop, - CMPIInstance * ci) { - CMPIStatus rc = {CMPI_RC_OK, NULL}; - - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); +CMPIStatus Reef_ProviderCreateInstance( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * cop, + CMPIInstance * ci) +{ + CMPIStatus rc = {CMPI_RC_OK, NULL}; + CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); - return rc; + return rc; } -CMPIStatus Reef_ProviderSetInstance( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * cop, - CMPIInstance * ci, - char **properties) { +// ========================================================================== - CMPIStatus rc = {CMPI_RC_OK, NULL}; +CMPIStatus Reef_ProviderSetInstance( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * cop, + CMPIInstance * ci, + char **properties) +{ + CMPIStatus rc = {CMPI_RC_OK, NULL}; - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); + CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); - return rc; + return rc; } +// ========================================================================== -CMPIStatus Reef_ProviderDeleteInstance( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * cop) { +CMPIStatus Reef_ProviderDeleteInstance( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * cop) +{ + CMPIStatus rc = {CMPI_RC_OK, NULL}; - CMPIStatus rc = {CMPI_RC_OK, NULL}; - - - - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); + CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); - return rc; + return rc; } +// ========================================================================== -CMPIStatus Reef_ProviderExecQuery( CMPIInstanceMI * mi, - CMPIContext * ctx, - CMPIResult * rslt, - CMPIObjectPath * ref, - char * lang, - char * query) { - - CMPIStatus rc = {CMPI_RC_OK, NULL}; +CMPIStatus Reef_ProviderExecQuery( + CMPIInstanceMI * mi, + CMPIContext * ctx, + CMPIResult * rslt, + CMPIObjectPath * ref, + char * lang, + char * query) +{ + CMPIStatus rc = {CMPI_RC_OK, NULL}; - CMSetStatusWithChars( _broker, &rc, - CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); + CMSetStatusWithChars( _broker, &rc, CMPI_RC_ERR_NOT_SUPPORTED, "CIM_ERR_NOT_SUPPORTED" ); - return rc; + return rc; } +// ========================================================================== + CMPIInstance *_makeInst_Reef_LogicalVolume( CMPIBroker *_broker, CMPIContext *ctx, CMPIObjectPath *ref, CMPIStatus *rc) { - CMPIObjectPath *op = NULL; CMPIInstance *ci = NULL; char s[REEF_MAX_STRING_SIZE]; @@ -381,6 +409,8 @@ return ci; } +// ========================================================================== + /* * The following functions are for retrieving information * from LogicalVolume class @@ -511,7 +541,7 @@ strcpy(s, (char *)next_lv.codeLevel); } - +// ========================================================================== /* Our provider is currently Instance Provider only */ |