00001 /* 00002 * NPIProvider.h 00003 * 00004 * Copyright (c) 2002, International Business Machines 00005 * 00006 * THIS FILE IS PROVIDED UNDER THE TERMS OF THE COMMON PUBLIC LICENSE 00007 * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE 00008 * CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT. 00009 * 00010 * You can obtain a current copy of the Common Public License from 00011 * http://oss.software.ibm.com/developerworks/opensource/license-cpl.html 00012 * 00013 * Author: Markus Mueller <markus_mueller@de.ibm.com> 00014 * Contributors: 00015 * 00016 * Description: <Some descriptive text> 00017 */ 00018 00019 #ifndef perlProvider_h 00020 #define perlProvider_h 00021 00022 #include <EXTERN.h> 00023 #include <perl.h> 00024 EXTERN_C void xs_init(); 00025 00026 //static const char * _libraryPath = "/home/markus/src/perlProvider/perl/"; 00027 //static const char * _perlProviderVersion = "0.3"; 00028 00029 #include "perlargs.h" 00030 00031 #include <stdlib.h> 00032 #include <dlfcn.h> 00033 00034 #ifdef NPI_DEBUG 00035 #define DDD(X) X 00036 #else 00037 #define DDD(X) 00038 #endif 00039 00040 #include <npi.h> 00041 00042 typedef struct { 00043 //CIMProvider; 00044 FP_INITIALIZE fp_initialize; 00045 FP_CLEANUP fp_cleanup; 00046 //InstanceProvider; 00047 FP_ENUMINSTANCENAMES fp_enumInstanceNames; 00048 FP_ENUMINSTANCES fp_enumInstances; 00049 FP_GETINSTANCE fp_getInstance; 00050 FP_CREATEINSTANCE fp_createInstance; 00051 FP_SETINSTANCE fp_setInstance; 00052 FP_DELETEINSTANCE fp_deleteInstance; 00053 FP_EXECQUERY fp_execQuery; 00054 //AssociatorProvider 00055 FP_ASSOCIATORS fp_associators; 00056 FP_ASSOCIATORNAMES fp_associatorNames; 00057 FP_REFERENCES fp_references; 00058 FP_REFERENCENAMES fp_referenceNames; 00059 //MethodProvider 00060 FP_INVOKEMETHOD fp_invokeMethod; 00061 //EventProvider 00062 FP_AUTHORIZEFILTER fp_authorizeFilter; 00063 FP_MUSTPOLL fp_mustPoll; 00064 FP_ACTIVATEFILTER fp_activateFilter; 00065 FP_DEACTIVATEFILTER fp_deActivateFilter; 00066 00067 PerlContext * perlcontext; 00068 } PerlFTABLE; 00069 00070 00071 #endif /* perlProvider_h */ 00072