00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef _CMPIFT_H_
00023 #define _CMPIFT_H_
00024 #include "OW_config.h"
00025
00026 #include <cmpidt.h>
00027
00028 #ifdef __cplusplus
00029 extern "C" {
00030 #endif
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00048 struct _CMPIBrokerEncFT {
00049
00052 int ftVersion;
00053
00060 CMPIInstance* (*newInstance)
00061 (const CMPIBroker* mb,
00062 const CMPIObjectPath* op, CMPIStatus* rc);
00063
00071 CMPIObjectPath* (*newObjectPath)
00072 (const CMPIBroker* mb,
00073 const char* ns, const char* cn, CMPIStatus* rc);
00074
00080 CMPIArgs* (*newArgs)
00081 (const CMPIBroker* mb, CMPIStatus* rc);
00082
00089 CMPIString* (*newString)
00090 (const CMPIBroker* mb, const char* data, CMPIStatus* rc);
00091
00099 CMPIArray* (*newArray)
00100 (const CMPIBroker* mb, CMPICount max, CMPIType type, CMPIStatus* rc);
00101
00107 CMPIDateTime* (*newDateTime)
00108 (const CMPIBroker* mb, CMPIStatus* rc);
00109
00118 CMPIDateTime* (*newDateTimeFromBinary)
00119 (const CMPIBroker* mb, CMPIUint64 binTime, CMPIBoolean interval,
00120 CMPIStatus* rc);
00121
00128 CMPIDateTime* (*newDateTimeFromChars)
00129 (const CMPIBroker* mb, const char* utcTime, CMPIStatus* rc);
00130
00139 CMPISelectExp* (*newSelectExp)
00140 (const CMPIBroker* mb, const char* query, const char* lang,
00141 CMPIArray** projection, CMPIStatus* st);
00142
00151 CMPIBoolean (*classPathIsA)
00152 (const CMPIBroker* mb, const CMPIObjectPath* op,
00153 const char* type, CMPIStatus* rc);
00154
00162 CMPIString* (*toString)
00163 (const CMPIBroker* mb, const void* object, CMPIStatus* rc);
00164
00174 CMPIBoolean (*isOfType)
00175 (const CMPIBroker* mb, const void* object, const char* type, CMPIStatus* rc);
00176
00184 CMPIString* (*getType)
00185 (const CMPIBroker* mb, const void* object, CMPIStatus* rc);
00186
00195 #if defined(CMPI_VER_85)
00196 CMPIString* (*getMessage)
00197 (const CMPIBroker* mb, const char *msgId, const char *defMsg, CMPIStatus* rc, unsigned int count, ...);
00198 #endif
00199
00200 #if defined(CMPI_VER_90)
00201 CMPIStatus (*logMessage)
00202 (const CMPIBroker*,int,const char*,const char*,
00203 const CMPIString*);
00204 CMPIStatus (*trace)
00205 (const CMPIBroker*,int,const char*,const char*,
00206 const CMPIString*);
00207 #endif
00208 };
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00225 struct _CMPIBrokerFT {
00226
00230 unsigned long brokerClassification;
00233 int brokerVersion;
00236 char *brokerName;
00237
00246 CMPIContext* (*prepareAttachThread)
00247 (const CMPIBroker* mb, const CMPIContext* ctx);
00248
00255 CMPIStatus (*attachThread)
00256 (const CMPIBroker*,const CMPIContext*);
00257
00265 CMPIStatus (*detachThread)
00266 (const CMPIBroker* mb, const CMPIContext* ctx);
00267
00268
00269
00278 CMPIStatus (*deliverIndication)
00279 (const CMPIBroker* mb, const CMPIContext* ctx,
00280 const char* ns, const CMPIInstance* ind);
00281
00282
00290 CMPIEnumeration* (*enumInstanceNames)
00291 (const CMPIBroker* mb, const CMPIContext* ctx,
00292 const CMPIObjectPath* op, CMPIStatus* rc);
00293
00305 CMPIInstance* (*getInstance)
00306 (const CMPIBroker* mb, const CMPIContext* ctx,
00307 const CMPIObjectPath* op, const char** properties, CMPIStatus* rc);
00308
00309
00310
00319 CMPIObjectPath* (*createInstance)
00320 (const CMPIBroker* mb, const CMPIContext* ctx,
00321 const CMPIObjectPath* op, const CMPIInstance* inst, CMPIStatus* rc);
00322
00330 CMPIStatus (*modifyInstance)
00331 (const CMPIBroker* mb, const CMPIContext* ctx,
00332 const CMPIObjectPath* op, const CMPIInstance* inst, const char ** properties);
00333
00340 CMPIStatus (*deleteInstance)
00341 (const CMPIBroker* mb, const CMPIContext* ctx,
00342 const CMPIObjectPath* op);
00343
00354 CMPIEnumeration* (*execQuery)
00355 (const CMPIBroker* mb, const CMPIContext* ctx,
00356 const CMPIObjectPath* op, const char* query, const char* lang, CMPIStatus* rc);
00357
00370 CMPIEnumeration* (*enumInstances)
00371 (const CMPIBroker* mb, const CMPIContext* ctx,
00372 const CMPIObjectPath* op, const char** properties, CMPIStatus* rc);
00373
00404 CMPIEnumeration* (*associators)
00405 (const CMPIBroker* mb,const CMPIContext* ctx,
00406 const CMPIObjectPath* op, const char* assocClass, const char* resultClass,
00407 const char* role, const char* resultRole, const char** properties, CMPIStatus* rc);
00408
00436 CMPIEnumeration* (*associatorNames)
00437 (const CMPIBroker* mb, const CMPIContext* ctx,
00438 const CMPIObjectPath* op, const char* assocClass, const char* resultClass,
00439 const char* role, const char* resultRole, CMPIStatus* rc);
00440
00462 CMPIEnumeration* (*references)
00463 (const CMPIBroker* mb, const CMPIContext* ctx,
00464 const CMPIObjectPath* op, const char* resultClass ,const char* role ,
00465 const char** properties, CMPIStatus* rc);
00466
00485 CMPIEnumeration* (*referenceNames)
00486 (const CMPIBroker* mb, const CMPIContext* ctx,
00487 const CMPIObjectPath* op, const char* resultClass, const char* role,
00488 CMPIStatus* rc);
00489
00501 CMPIData (*invokeMethod)
00502 (const CMPIBroker* mb, const CMPIContext* ctx,
00503 const CMPIObjectPath* op,const char* method,
00504 const CMPIArgs* in, CMPIArgs* out, CMPIStatus* rc);
00505
00515 CMPIStatus (*setProperty)
00516 (const CMPIBroker* mb, const CMPIContext* ctx,
00517 const CMPIObjectPath* op, const char* name , const CMPIValue* value,
00518 CMPIType type);
00519
00528 CMPIData (*getProperty)
00529 (const CMPIBroker* mb, const CMPIContext* ctx,
00530 const CMPIObjectPath*,const char*,CMPIStatus*);
00531 };
00532
00533
00534
00535
00536
00537
00538
00539
00540
00541
00542
00543
00546 struct _CMPIBroker {
00547
00550 void *hdl;
00551
00554 CMPIBrokerFT *bft;
00555
00558 CMPIBrokerEncFT *eft;
00559
00562 #if defined(CMPI_VER_90)
00563 CMPIBrokerExtFT *xft;
00564 #endif
00565 };
00566
00567
00568
00569
00570
00571
00572
00573
00574
00575 #if defined(CMPI_VER_90)
00576
00577 #include "cmpios.h"
00578
00579 struct timespec;
00580
00586 struct _CMPIBrokerExtFT {
00589 int ftVersion;
00590
00591 char *(*resolveFileName)
00592 (const char *filename);
00593
00594
00595
00596 CMPI_THREAD_TYPE (*newThread)
00597 (CMPI_THREAD_RETURN (CMPI_THREAD_CDECL *start)(void *), void *parm, int detached);
00598
00599 int (*joinThread)
00600 (CMPI_THREAD_TYPE thread, CMPI_THREAD_RETURN *retval );
00601
00602 int (*exitThread)
00603 (CMPI_THREAD_RETURN return_code);
00604
00605 int (*cancelThread)
00606 (CMPI_THREAD_TYPE thread);
00607
00608 int (*threadSleep)
00609 (CMPIUint32 msec);
00610
00611 int (*threadOnce)
00612 (int *once, void (*init)(void));
00613
00614
00615 int (*createThreadKey)
00616 (CMPI_THREAD_KEY_TYPE *key, void (*cleanup)(void*));
00617
00618 int (*destroyThreadKey)
00619 (CMPI_THREAD_KEY_TYPE key);
00620
00621 void *(*getThreadSpecific)
00622 (CMPI_THREAD_KEY_TYPE key);
00623
00624 int (*setThreadSpecific)
00625 (CMPI_THREAD_KEY_TYPE key, void * value);
00626
00627
00628
00629 CMPI_MUTEX_TYPE (*newMutex)
00630 (int opt);
00631
00632 void (*destroyMutex)
00633 (CMPI_MUTEX_TYPE);
00634
00635 void (*lockMutex)
00636 (CMPI_MUTEX_TYPE);
00637
00638 void (*unlockMutex)
00639 (CMPI_MUTEX_TYPE);
00640
00641
00642
00643 CMPI_COND_TYPE (*newCondition)
00644 (int opt);
00645
00646 void (*destroyCondition)
00647 (CMPI_COND_TYPE);
00648
00649 int (*condWait)
00650 (CMPI_COND_TYPE cond, CMPI_MUTEX_TYPE mutex);
00651
00652 int (*timedCondWait)
00653 (CMPI_COND_TYPE cond, CMPI_MUTEX_TYPE mutex, struct timespec *wait);
00654
00655 int (*signalCondition)
00656 (CMPI_COND_TYPE cond);
00657 };
00658
00659 #endif
00660
00661
00662
00663
00664
00665
00666
00667
00668
00669
00670
00674 struct _CMPIContextFT {
00675
00678 int ftVersion;
00679
00685 CMPIStatus (*release)
00686 (CMPIContext* ctx);
00687
00693 CMPIContext* (*clone)
00694 (const CMPIContext* ctx, CMPIStatus* rc);
00695
00702 CMPIData (*getEntry)
00703 (const CMPIContext* ctx, const char* name, CMPIStatus* rc);
00704
00712 CMPIData (*getEntryAt)
00713 (const CMPIContext* ctx, unsigned int index, CMPIString** name,
00714 CMPIStatus* rc);
00715
00720 unsigned int (*getEntryCount)
00721 (const CMPIContext* ctx, CMPIStatus* rc);
00722
00730 CMPIStatus (*addEntry)
00731 (const CMPIContext* ctx, const char* name, const CMPIValue* value, const CMPIType type);
00732 };
00733
00734
00735
00736
00737
00738
00739
00740
00741
00742
00743
00744
00745
00748 struct _CMPIContext {
00749
00752
00753 void *hdl;
00754
00757
00758 CMPIContextFT *ft;
00759 };
00760
00761
00762
00763
00764
00765
00766
00767
00768
00769
00770
00771
00772
00775 struct _CMPIResult {
00776
00779
00780 void *hdl;
00781
00784
00785 CMPIResultFT *ft;
00786 };
00787
00788
00789
00790
00791
00792
00793
00794
00795
00796
00797
00802 struct _CMPIResultFT {
00803
00806 int ftVersion;
00807
00813 CMPIStatus (*release)
00814 (CMPIResult* rslt);
00815
00821 CMPIResult* (*clone)
00822 (const CMPIResult* rslt,CMPIStatus* rc);
00823
00830 CMPIStatus (*returnData)
00831 (const CMPIResult* rslt,const CMPIValue* value,const CMPIType type);
00832
00838 CMPIStatus (*returnInstance)
00839 (const CMPIResult* rslt,const CMPIInstance* inst);
00840
00846 CMPIStatus (*returnObjectPath)
00847 (const CMPIResult* rslt, const CMPIObjectPath* ref);
00848
00853 CMPIStatus (*returnDone)
00854 (const CMPIResult* rslt);
00855 };
00856
00857
00858
00859
00860
00861
00862
00863
00864
00865
00866
00867
00868
00871 struct _CMPIInstance {
00872
00875
00876 void *hdl;
00877
00880
00881 CMPIInstanceFT* ft;
00882 };
00883
00884
00885
00886
00887
00888
00889
00890
00891
00892
00893
00894
00898 struct _CMPIInstanceFT {
00899
00902 int ftVersion;
00903
00909 CMPIStatus (*release)
00910 (CMPIInstance* inst);
00911
00918 CMPIInstance* (*clone)
00919 (const CMPIInstance* inst, CMPIStatus* rc);
00920
00927 CMPIData (*getProperty)
00928 (const CMPIInstance* inst, const char* name, CMPIStatus* rc);
00929
00937 CMPIData (*getPropertyAt)
00938 (const CMPIInstance* inst, unsigned int index, CMPIString** name,
00939 CMPIStatus* rc);
00940
00946 unsigned int (*getPropertyCount)
00947 (const CMPIInstance* inst, CMPIStatus* rc);
00948
00956 CMPIStatus (*setProperty)
00957 (const CMPIInstance* inst, const char* name,
00958 const CMPIValue* value, CMPIType type);
00959
00966 CMPIObjectPath* (*getObjectPath)
00967 (const CMPIInstance* inst, CMPIStatus* rc);
00968
00978 CMPIStatus (*setPropertyFilter)
00979 (CMPIInstance* inst, const char **propertyList, const char **keys);
00980
00981 #ifdef CMPI_VER_100
00982 CMPIStatus (*setObjectPath)
00983 (CMPIInstance*, const CMPIObjectPath*);
00984 #endif
00985 };
00986
00987
00988
00989
00990
00991
00992
00993
00994
00995
00996
00997
00998
01001 struct _CMPIObjectPath {
01002
01005
01006 void *hdl;
01007
01010
01011 CMPIObjectPathFT* ft;
01012 };
01013
01014
01015
01016
01017
01018
01019
01020
01021
01022
01023
01024
01028 struct _CMPIObjectPathFT {
01029
01032 int ftVersion;
01033
01039 CMPIStatus (*release)
01040 (CMPIObjectPath* op);
01041
01048 CMPIObjectPath* (*clone)
01049 (const CMPIObjectPath* op,CMPIStatus* rc);
01050
01056 CMPIStatus (*setNameSpace)
01057 (CMPIObjectPath* op,const char* ns);
01058
01064 CMPIString* (*getNameSpace)
01065 (const CMPIObjectPath* op, CMPIStatus* rc);
01066
01072 CMPIStatus (*setHostname)
01073 (CMPIObjectPath* op, const char* hn);
01074
01080 CMPIString* (*getHostname)
01081 (const CMPIObjectPath* op,CMPIStatus* rc);
01082
01088 CMPIStatus (*setClassName)
01089 (CMPIObjectPath* op, const char* cn);
01090
01096 CMPIString* (*getClassName)
01097 (const CMPIObjectPath* op,CMPIStatus* rc);
01098
01106 CMPIStatus (*addKey)
01107 (CMPIObjectPath* op,const char* name,
01108 const CMPIValue* value, const CMPIType type);
01109
01116 CMPIData (*getKey)
01117 (const CMPIObjectPath* op, const char* name, CMPIStatus* rc);
01118
01126 CMPIData (*getKeyAt)
01127 (const CMPIObjectPath* op,unsigned int index, CMPIString** name,
01128 CMPIStatus* rc);
01129
01135 unsigned int (*getKeyCount)
01136 (const CMPIObjectPath* op, CMPIStatus* rc);
01137
01143 CMPIStatus (*setNameSpaceFromObjectPath)
01144 (CMPIObjectPath* op, const CMPIObjectPath* src);
01145
01151 CMPIStatus (*setHostAndNameSpaceFromObjectPath)
01152 (CMPIObjectPath* op,
01153 const CMPIObjectPath* src);
01154
01155
01156
01157
01158
01159
01166 CMPIData (*getClassQualifier)
01167 (const CMPIObjectPath* op,
01168 const char *qName,
01169 CMPIStatus *rc);
01170
01178 CMPIData (*getPropertyQualifier)
01179 (const CMPIObjectPath* op,
01180 const char *pName,
01181 const char *qName,
01182 CMPIStatus *rc);
01183
01191 CMPIData (*getMethodQualifier)
01192 (const CMPIObjectPath* op,
01193 const char *methodName,
01194 const char *qName,
01195 CMPIStatus *rc);
01196
01205 CMPIData (*getParameterQualifier)
01206 (const CMPIObjectPath* op,
01207 const char *mName,
01208 const char *pName,
01209 const char *qName,
01210 CMPIStatus *rc);
01211
01212 #if defined(CMPI_VER_86)
01213
01218 CMPIString *(*toString)
01219 (const CMPIObjectPath* op, CMPIStatus *rc);
01220 #endif
01221 };
01222
01223
01224
01225
01226
01227
01228
01229
01230
01231
01232
01233
01234
01237 struct _CMPISelectExp {
01238
01241
01242 void *hdl;
01243
01246
01247 CMPISelectExpFT* ft;
01248 };
01249
01250
01251
01252
01253
01254
01255
01256
01257
01258
01259
01260
01264 struct _CMPISelectExpFT {
01265
01268 int ftVersion;
01269
01275 CMPIStatus (*release)
01276 (CMPISelectExp* se);
01277
01284 CMPISelectExp* (*clone)
01285 (const CMPISelectExp* se, CMPIStatus* rc);
01286
01293 CMPIBoolean (*evaluate)
01294 (const CMPISelectExp* se, const CMPIInstance* inst, CMPIStatus* rc);
01295
01301 CMPIString* (*getString)
01302 (const CMPISelectExp* se, CMPIStatus* rc);
01303
01309 CMPISelectCond* (*getDOC)
01310 (const CMPISelectExp* se, CMPIStatus* rc);
01311
01317 CMPISelectCond* (*getCOD)
01318 (const CMPISelectExp* se, CMPIStatus* rc);
01319
01327 #if defined(CMPI_VER_87)
01328 CMPIBoolean (*evaluateUsingAccessor)
01329 (const CMPISelectExp* se, CMPIAccessor *accessor, void *parm, CMPIStatus* rc);
01330 #endif
01331 };
01332
01333
01334
01335
01336
01337
01338
01339
01340
01341
01342
01343
01344
01347 struct _CMPISelectCond {
01348
01351 void *hdl;
01352
01355 CMPISelectCondFT* ft;
01356 };
01357
01358
01359
01360
01361
01362
01363
01364
01365
01366
01367
01368
01372 struct _CMPISelectCondFT {
01373
01376 int ftVersion;
01377
01383 CMPIStatus (*release)
01384 (CMPISelectCond* sc);
01385
01392 CMPISelectCond* (*clone)
01393 (const CMPISelectCond* sc, CMPIStatus* rc);
01394
01402 CMPICount (*getCountAndType)
01403 (const CMPISelectCond* sc, int* type, CMPIStatus* rc);
01404
01411 CMPISubCond* (*getSubCondAt)
01412 (const CMPISelectCond* sc, unsigned int index, CMPIStatus* rc);
01413 };
01414
01415
01416
01417
01418
01419
01420
01421
01422
01423
01424
01425
01426
01429 struct _CMPISubCond {
01430
01433 void *hdl;
01434
01437 CMPISubCondFT* ft;
01438 };
01439
01440
01441
01442
01443
01444
01445
01446
01447
01448
01449
01450
01454 struct _CMPISubCondFT {
01455
01458 int ftVersion;
01459
01465 CMPIStatus (*release)
01466 (CMPISubCond* sc);
01467
01474 CMPISubCond* (*clone)
01475 (const CMPISubCond* sc,CMPIStatus* rc);
01476
01482 CMPICount (*getCount)
01483 (const CMPISubCond* sc, CMPIStatus* rc);
01484
01491 CMPIPredicate* (*getPredicateAt)
01492 (const CMPISubCond* sc, unsigned int index, CMPIStatus* rc);
01493
01500 CMPIPredicate* (*getPredicate)
01501 (const CMPISubCond* sc, const char* name, CMPIStatus* rc);
01502 };
01503
01504
01505
01506
01507
01508
01509
01510
01511
01512
01513
01514
01515
01518 struct _CMPIPredicate {
01519
01522 void *hdl;
01523
01526 CMPIPredicateFT* ft;
01527 };
01528
01529
01530
01531
01532
01533
01534
01535
01536
01537
01538
01539
01540
01544 struct _CMPIPredicateFT {
01545
01548 int ftVersion;
01549
01555 CMPIStatus (*release)
01556 (CMPIPredicate* pr);
01557
01564 CMPIPredicate* (*clone)
01565 (const CMPIPredicate* pr, CMPIStatus* rc);
01566
01575 CMPIStatus (*getData)
01576 (const CMPIPredicate* pr, CMPIType* type,
01577 CMPIPredOp* op, CMPIString** lhs, CMPIString** rhs);
01578
01587 #if defined(CMPI_VER_87) && !defined(CMPI_VER_100)
01588
01589 int (*evaluate)
01590 (CMPIPredicate* pr, CMPIValue* value,
01591 CMPIType type, CMPIStatus* rc);
01592 #endif
01593
01594 #if defined(CMPI_VER_100)
01595 CMPIBoolean (*evaluateUsingAccessor)
01596 (const CMPIPredicate*, CMPIAccessor *, void *, CMPIStatus *rc);
01597 #endif
01598 };
01599
01600
01601
01602
01603
01604
01605
01606
01607
01608
01609
01610
01611
01614 struct _CMPIArgs {
01615
01618 void *hdl;
01619
01622 CMPIArgsFT* ft;
01623 };
01624
01625
01626
01627
01628
01629
01630
01631
01632
01633
01634
01635
01639 struct _CMPIArgsFT{
01640
01643 int ftVersion;
01644
01650 CMPIStatus (*release)
01651 (CMPIArgs* as);
01652
01659 CMPIArgs* (*clone)
01660 (const CMPIArgs* as, CMPIStatus* rc);
01661
01669 CMPIStatus (*addArg)
01670 (CMPIArgs* as, const char* name ,const CMPIValue* value,
01671 const CMPIType type);
01672
01679 CMPIData (*getArg)
01680 (const CMPIArgs* as, const char* name, CMPIStatus* rc);
01681
01689 CMPIData (*getArgAt)
01690 (const CMPIArgs* as, unsigned int index, CMPIString** name,
01691 CMPIStatus* rc);
01692
01698 unsigned int (*getArgCount)
01699 (const CMPIArgs* as, CMPIStatus* rc);
01700 };
01701
01702
01703
01704
01705
01706
01707
01708
01709
01710
01711
01712
01713
01716 struct _CMPIString {
01717
01720
01721 void *hdl;
01722
01725
01726 CMPIStringFT* ft;
01727 };
01728
01729
01730
01731
01732
01733
01734
01735
01736
01737
01738
01739
01743 struct _CMPIStringFT {
01744
01747 int ftVersion;
01748
01754 CMPIStatus (*release)
01755 (CMPIString* st);
01756
01763 CMPIString* (*clone)
01764 (const CMPIString* st, CMPIStatus* rc);
01765
01771 char* (*getCharPtr)
01772 (const CMPIString* st, CMPIStatus* rc);
01773 };
01774
01775
01776
01777
01778
01779
01780
01781
01782
01783
01784
01785
01786
01789 struct _CMPIArray {
01790
01793
01794 void *hdl;
01795
01798
01799 CMPIArrayFT* ft;
01800 };
01801
01802
01803
01804
01805
01806
01807
01808
01809
01810
01811
01812
01816 struct _CMPIArrayFT {
01817
01820 int ftVersion;
01821
01827 CMPIStatus (*release)
01828 (CMPIArray* ar);
01829
01836 CMPIArray* (*clone)
01837 (const CMPIArray* ar, CMPIStatus* rc);
01838
01844 CMPICount (*getSize)
01845 (const CMPIArray* ar, CMPIStatus* rc);
01846
01852 CMPIType (*getSimpleType)
01853 (const CMPIArray* ar, CMPIStatus* rc);
01854
01861 CMPIData (*getElementAt)
01862 (const CMPIArray* ar, CMPICount index, CMPIStatus* rc);
01863
01871 CMPIStatus (*setElementAt)
01872 (CMPIArray* ar, CMPICount index, const CMPIValue* value, CMPIType type);
01873 };
01874
01875
01876
01877
01878
01879
01880
01881
01882
01883
01884
01885
01886
01887
01890 struct _CMPIEnumeration {
01891
01894
01895 void *hdl;
01896
01899
01900 CMPIEnumerationFT* ft;
01901 };
01902
01903
01904
01905
01906
01907
01908
01909
01910
01911
01912
01913
01917 struct _CMPIEnumerationFT {
01918
01921 int ftVersion;
01922
01928 CMPIStatus (*release)
01929 (CMPIEnumeration* en);
01930
01937 CMPIEnumeration* (*clone)
01938 (const CMPIEnumeration* en, CMPIStatus* rc);
01939
01945 CMPIData (*getNext)
01946 (const CMPIEnumeration* en, CMPIStatus* rc);
01947
01953 CMPIBoolean (*hasNext)
01954 (const CMPIEnumeration* en, CMPIStatus* rc);
01955
01961 CMPIArray* (*toArray)
01962 (const CMPIEnumeration* en, CMPIStatus* rc);
01963 };
01964
01965
01966
01967
01968
01969
01970
01971
01972
01973
01974
01975
01976
01977
01980 struct _CMPIDateTime {
01981
01984
01985 void *hdl;
01986
01989
01990 CMPIDateTimeFT *ft;
01991 };
01992
01993
01994
01995
01996
01997
01998
01999
02000
02001
02002
02003
02007 struct _CMPIDateTimeFT {
02008
02011 int ftVersion;
02012
02018 CMPIStatus (*release)
02019 (CMPIDateTime* dt);
02020
02027 CMPIDateTime* (*clone)
02028 (const CMPIDateTime* dt, CMPIStatus* rc);
02029
02036 CMPIUint64 (*getBinaryFormat)
02037 (const CMPIDateTime* dt, CMPIStatus* rc);
02038
02044 CMPIString* (*getStringFormat)
02045 (const CMPIDateTime* dt, CMPIStatus* rc);
02046
02052 CMPIBoolean (*isInterval)
02053 (const CMPIDateTime* dt, CMPIStatus* rc);
02054 };
02055
02056
02057
02058
02059
02060
02061
02062
02063
02064
02065
02066
02067
02068
02069
02072 typedef struct _CMPIInstanceMIFT CMPIInstanceMIFT;
02073 typedef struct _CMPIInstanceMI {
02074
02077 void *hdl;
02078
02081 CMPIInstanceMIFT *ft;
02082 } CMPIInstanceMI;
02083
02084
02085
02086
02087
02088
02089
02090
02091
02092
02093
02094
02099 struct _CMPIInstanceMIFT {
02100
02103 int ftVersion;
02104
02107 int miVersion;
02108
02111 char *miName;
02112
02123 CMPIStatus (*cleanup)
02124 (CMPIInstanceMI* mi, const CMPIContext* ctx, CMPIBoolean terminating);
02125
02133 CMPIStatus (*enumInstanceNames)
02134 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02135 const CMPIObjectPath* op);
02136
02147 CMPIStatus (*enumInstances)
02148 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02149 const CMPIObjectPath* op, const char** properties);
02150
02161 CMPIStatus (*getInstance)
02162 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02163 const CMPIObjectPath* op, const char** properties);
02164
02173 CMPIStatus (*createInstance)
02174 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02175 const CMPIObjectPath* op, const CMPIInstance* inst);
02176
02189 CMPIStatus (*modifyInstance)
02190 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02191 const CMPIObjectPath* op, const CMPIInstance* inst, const char** properties);
02192
02200 CMPIStatus (*deleteInstance)
02201 (CMPIInstanceMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02202 const CMPIObjectPath* op);
02203
02214 CMPIStatus (*execQuery)
02215 (CMPIInstanceMI*,const CMPIContext*,const CMPIResult*,
02216 const CMPIObjectPath*,const char*,const char*);
02217 };
02218
02219
02220
02221
02222
02223
02224
02225
02226
02227
02228
02229
02230
02231
02232
02235 typedef struct _CMPIAssociationMIFT CMPIAssociationMIFT;
02236 typedef struct _CMPIAssociationMI {
02237
02240 void *hdl;
02241
02244 CMPIAssociationMIFT *ft;
02245 } CMPIAssociationMI;
02246
02247
02248
02249
02250
02251
02252
02253
02254
02255
02256
02261 struct _CMPIAssociationMIFT {
02262
02265 int ftVersion;
02266
02269 int miVersion;
02270
02273 char *miName;
02274
02285 CMPIStatus (*cleanup)
02286 (CMPIAssociationMI* mi, const CMPIContext* ctx, CMPIBoolean terminating);
02287
02318 CMPIStatus (*associators)
02319 (CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02320 const CMPIObjectPath* op, const char* asscClass, const char* resultClass,
02321 const char* role, const char* resultRole, const char** properties);
02322
02350 CMPIStatus (*associatorNames)
02351 (CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02352 const CMPIObjectPath* op, const char* assocClass, const char* resultClass,
02353 const char* role, const char* resultRole);
02354
02376 CMPIStatus (*references)
02377 (CMPIAssociationMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02378 const CMPIObjectPath* op, const char* resultClass, const char* role ,
02379 const char** properties);
02380
02399 CMPIStatus (*referenceNames)
02400 (CMPIAssociationMI*, const CMPIContext*, const CMPIResult*,
02401 const CMPIObjectPath*, const char*, const char*);
02402 };
02403
02404
02405
02406
02407
02408
02409
02410
02411
02412
02413
02414
02415
02416
02417
02420 typedef struct _CMPIMethodMIFT CMPIMethodMIFT;
02421 typedef struct _CMPIMethodMI {
02422
02425 void *hdl;
02426
02429 CMPIMethodMIFT *ft;
02430 } CMPIMethodMI;
02431
02432
02433
02434
02435
02436
02437
02438
02439
02440
02441
02446 struct _CMPIMethodMIFT {
02447
02450 int ftVersion;
02451
02454 int miVersion;
02455
02458 char *miName;
02459
02470 CMPIStatus (*cleanup)
02471 (CMPIMethodMI* mi, const CMPIContext* ctx, CMPIBoolean terminating);
02472
02484 CMPIStatus (*invokeMethod)
02485 (CMPIMethodMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02486 const CMPIObjectPath* op, const char* method, const CMPIArgs* in, CMPIArgs* out);
02487 };
02488
02489
02490
02491
02492
02493
02494
02495
02496
02497
02498
02499
02500
02501
02504 typedef struct _CMPIPropertyMIFT CMPIPropertyMIFT;
02505 typedef struct _CMPIPropertyMI {
02506
02509 void *hdl;
02510
02513 CMPIPropertyMIFT *ft;
02514 } CMPIPropertyMI;
02515
02516
02517
02518
02519
02520
02521
02522
02523
02524
02525
02526
02531 struct _CMPIPropertyMIFT {
02532
02535 int ftVersion;
02536
02539 int miVersion;
02540
02543 char *miName;
02544
02550 CMPIStatus (*cleanup)
02551 (CMPIPropertyMI* mi, const CMPIContext* ctx, CMPIBoolean terminating);
02552
02562 CMPIStatus (*setProperty)
02563 (CMPIPropertyMI* mi, const CMPIContext* ctx, const CMPIResult* rslt,
02564 const CMPIObjectPath* op, const char* name, const CMPIData data);
02565
02574 CMPIStatus (*getProperty)
02575 (CMPIPropertyMI*,const CMPIContext*,const CMPIResult*,
02576 const CMPIObjectPath*,const char*);
02577 };
02578
02579
02580
02581
02582
02583
02584
02585
02586
02587
02588
02589
02590
02591
02594 typedef struct _CMPIIndicationMIFT CMPIIndicationMIFT;
02595 typedef struct _CMPIIndicationMI {
02596
02599 void *hdl;
02600
02603 CMPIIndicationMIFT *ft;
02604 } CMPIIndicationMI;
02605
02606
02607
02608
02609
02610
02611
02612
02613
02614
02615
02616
02621 struct _CMPIIndicationMIFT {
02622
02625 int ftVersion;
02626
02629 int miVersion;
02630
02633 char *miName;
02634
02645 CMPIStatus (*cleanup)
02646 (CMPIIndicationMI* mi, const CMPIContext* ctx, CMPIBoolean terminating);
02647 CMPIStatus (*authorizeFilter)
02648 (CMPIIndicationMI* mi, const CMPIContext* ctx,
02649 const CMPISelectExp* se, const char* ns, const CMPIObjectPath* op, const char* user);
02650 CMPIStatus (*mustPoll)
02651 (CMPIIndicationMI* mi, const CMPIContext* ctx,
02652 const CMPISelectExp* se, const char* ns, const CMPIObjectPath* op);
02653 CMPIStatus (*activateFilter)
02654 (CMPIIndicationMI* mi, const CMPIContext* ctx,
02655 const CMPISelectExp* se, const char* ns, const CMPIObjectPath* op, CMPIBoolean first);
02656 CMPIStatus (*deActivateFilter)
02657 (CMPIIndicationMI* mi, const CMPIContext* ctx,
02658 const CMPISelectExp* se, const char* ns, const CMPIObjectPath* op, CMPIBoolean last);
02659 CMPIStatus (*enableIndications)
02660 (CMPIIndicationMI* mi, const CMPIContext* ctx);
02661 CMPIStatus (*disableIndications)
02662 (CMPIIndicationMI* mi, const CMPIContext* ctx);
02663 };
02664
02665
02666 #include <cmpimacs.h>
02667
02668 #ifdef __cplusplus
02669 };
02670 #endif
02671
02672 #endif