1 mike 1.1 /*
2 **==============================================================================
3 **
4 ** Open Management Infrastructure (OMI)
5 **
6 ** Copyright (c) Microsoft Corporation
7 **
8 ** Licensed under the Apache License, Version 2.0 (the "License"); you may not
9 ** use this file except in compliance with the License. You may obtain a copy
10 ** of the License at
11 **
12 ** http://www.apache.org/licenses/LICENSE-2.0
13 **
14 ** THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 ** KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
16 ** WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
17 ** MERCHANTABLITY OR NON-INFRINGEMENT.
18 **
19 ** See the Apache 2 License for the specific language governing permissions
20 ** and limitations under the License.
21 **
22 mike 1.1 **==============================================================================
23 */
24
25 //==============================================================================
26 //
27 // cprotypes.h - define source code tempalte for provider function prototypes.
28 //
29 //==============================================================================
30 #ifndef _migen_cprototypes_t_h
31 #define _migen_cprototypes_t_h
32
33 //==============================================================================
34 //
35 // COMMON_PROVIDER_PROTOTYPES
36 //
37 //==============================================================================
38
39 #define COMMON_PROVIDER_PROTOTYPES "\
40 MI_EXTERN_C void MI_CALL <ALIAS>_Load(\n\
41 <ALIAS>_Self** self,\n\
42 MI_Module_Self* selfModule,\n\
43 mike 1.1 MI_Context* context);\n\
44 \n\
45 MI_EXTERN_C void MI_CALL <ALIAS>_Unload(\n\
46 <ALIAS>_Self* self,\n\
47 MI_Context* context);\n\
48 \n"
49
50 //==============================================================================
51 //
52 // SPECIAL PATCH support for class-level Load function
53 //
54 //==============================================================================
55
56 #define OLD_PROVIDER_LOAD_PROTOTYPES "\
57 void MI_CALL <ALIAS>_Load(\n\
58 <ALIAS>_Self** self,\n\
59 MI_Context* context)"
60
61 #define NEW_PROVIDER_LOAD_PROTOTYPES "\
62 void MI_CALL <ALIAS>_Load(\n\
63 <ALIAS>_Self** self,\n\
64 mike 1.1 MI_Module_Self* selfModule,\n\
65 MI_Context* context)"
66
67 //==============================================================================
68 //
69 // INSTANCE_PROVIDER_PROTOTYPES
70 //
71 //==============================================================================
72
73 #define INSTANCE_PROVIDER_PROTOTYPES COMMON_PROVIDER_PROTOTYPES "\
74 MI_EXTERN_C void MI_CALL <ALIAS>_EnumerateInstances(\n\
75 <ALIAS>_Self* self,\n\
76 MI_Context* context,\n\
77 const MI_Char* nameSpace,\n\
78 const MI_Char* className,\n\
79 const MI_PropertySet* propertySet,\n\
80 MI_Boolean keysOnly,\n\
81 const MI_Filter* filter);\n\
82 \n\
83 MI_EXTERN_C void MI_CALL <ALIAS>_GetInstance(\n\
84 <ALIAS>_Self* self,\n\
85 mike 1.1 MI_Context* context,\n\
86 const MI_Char* nameSpace,\n\
87 const MI_Char* className,\n\
88 const <ALIAS>* instanceName,\n\
89 const MI_PropertySet* propertySet);\n\
90 \n\
91 MI_EXTERN_C void MI_CALL <ALIAS>_CreateInstance(\n\
92 <ALIAS>_Self* self,\n\
93 MI_Context* context,\n\
94 const MI_Char* nameSpace,\n\
95 const MI_Char* className,\n\
96 const <ALIAS>* newInstance);\n\
97 \n\
98 MI_EXTERN_C void MI_CALL <ALIAS>_ModifyInstance(\n\
99 <ALIAS>_Self* self,\n\
100 MI_Context* context,\n\
101 const MI_Char* nameSpace,\n\
102 const MI_Char* className,\n\
103 const <ALIAS>* modifiedInstance,\n\
104 const MI_PropertySet* propertySet);\n\
105 \n\
106 mike 1.1 MI_EXTERN_C void MI_CALL <ALIAS>_DeleteInstance(\n\
107 <ALIAS>_Self* self,\n\
108 MI_Context* context,\n\
109 const MI_Char* nameSpace,\n\
110 const MI_Char* className,\n\
111 const <ALIAS>* instanceName);\n\
112 \n"
113
114 //==============================================================================
115 //
116 // ASSOCIATION_PROVIDER_PROTOTYPES
117 //
118 //==============================================================================
119
120 #define ASSOCIATION_PROVIDER_PROTOTYPES INSTANCE_PROVIDER_PROTOTYPES "\
121 MI_EXTERN_C void MI_CALL <ALIAS>_AssociatorInstances(\n\
122 <ALIAS>_Self* self,\n\
123 MI_Context* context,\n\
124 const MI_Char* nameSpace,\n\
125 const MI_Char* className,\n\
126 const MI_Instance* instanceName,\n\
127 mike 1.1 const MI_Char* resultClass,\n\
128 const MI_Char* role,\n\
129 const MI_Char* resultRole,\n\
130 const MI_PropertySet* propertySet,\n\
131 MI_Boolean keysOnly,\n\
132 const MI_Filter* filter);\n\
133 \n\
134 MI_EXTERN_C void MI_CALL <ALIAS>_ReferenceInstances(\n\
135 <ALIAS>_Self* self,\n\
136 MI_Context* context,\n\
137 const MI_Char* nameSpace,\n\
138 const MI_Char* className,\n\
139 const MI_Instance* instanceName,\n\
140 const MI_Char* role,\n\
141 const MI_PropertySet* propertySet,\n\
142 MI_Boolean keysOnly,\n\
143 const MI_Filter* filter);\n\
144 \n"
145
146 #define ROLE_PROVIDER_PROTOTYPES INSTANCE_PROVIDER_PROTOTYPES "\
147 MI_EXTERN_C void MI_CALL <ALIAS>_AssociatorInstances<ROLE1>(\n\
148 mike 1.1 <ALIAS>_Self* self,\n\
149 MI_Context* context,\n\
150 const MI_Char* nameSpace,\n\
151 const MI_Char* className,\n\
152 const <ALIAS1>* instanceName,\n\
153 const MI_Char* resultClass,\n\
154 const MI_PropertySet* propertySet,\n\
155 MI_Boolean keysOnly,\n\
156 const MI_Filter* filter);\n\
157 \n\
158 MI_EXTERN_C void MI_CALL <ALIAS>_AssociatorInstances<ROLE2>(\n\
159 <ALIAS>_Self* self,\n\
160 MI_Context* context,\n\
161 const MI_Char* nameSpace,\n\
162 const MI_Char* className,\n\
163 const <ALIAS2>* instanceName,\n\
164 const MI_Char* resultClass,\n\
165 const MI_PropertySet* propertySet,\n\
166 MI_Boolean keysOnly,\n\
167 const MI_Filter* filter);\n\
168 \n\
169 mike 1.1 MI_EXTERN_C void MI_CALL <ALIAS>_ReferenceInstances<ROLE1>(\n\
170 <ALIAS>_Self* self,\n\
171 MI_Context* context,\n\
172 const MI_Char* nameSpace,\n\
173 const MI_Char* className,\n\
174 const <ALIAS1>* instanceName,\n\
175 const MI_PropertySet* propertySet,\n\
176 MI_Boolean keysOnly,\n\
177 const MI_Filter* filter);\n\
178 \n\
179 MI_EXTERN_C void MI_CALL <ALIAS>_ReferenceInstances<ROLE2>(\n\
180 <ALIAS>_Self* self,\n\
181 MI_Context* context,\n\
182 const MI_Char* nameSpace,\n\
183 const MI_Char* className,\n\
184 const <ALIAS2>* instanceName,\n\
185 const MI_PropertySet* propertySet,\n\
186 MI_Boolean keysOnly,\n\
187 const MI_Filter* filter);\n\
188 \n"
189
190 mike 1.1 //==============================================================================
191 //
192 // INDICATION_PROVIDER_PROTOTYPES
193 //
194 //==============================================================================
195
196 #define INDICATION_PROVIDER_PROTOTYPES COMMON_PROVIDER_PROTOTYPES "\
197 MI_EXTERN_C void MI_CALL <ALIAS>_EnableIndications(\n\
198 <ALIAS>_Self* self,\n\
199 MI_Context* indicationsContext,\n\
200 const MI_Char* nameSpace,\n\
201 const MI_Char* className);\n\
202 \n\
203 MI_EXTERN_C void MI_CALL <ALIAS>_DisableIndications(\n\
204 <ALIAS>_Self* self,\n\
205 MI_Context* indicationsContext,\n\
206 const MI_Char* nameSpace,\n\
207 const MI_Char* className);\n\
208 \n\
209 MI_EXTERN_C void MI_CALL <ALIAS>_Subscribe(\n\
210 <ALIAS>_Self* self,\n\
211 mike 1.1 MI_Context* context,\n\
212 const MI_Char* nameSpace,\n\
213 const MI_Char* className,\n\
214 const MI_Filter* filter,\n\
215 const MI_Char* bookmark,\n\
216 MI_Uint64 subscriptionID,\n\
217 void** subscriptionSelf);\n\
218 \n\
219 MI_EXTERN_C void MI_CALL <ALIAS>_Unsubscribe(\n\
220 <ALIAS>_Self* self,\n\
221 MI_Context* context,\n\
222 const MI_Char* nameSpace,\n\
223 const MI_Char* className,\n\
224 MI_Uint64 subscriptionID,\n\
225 void* subscriptionSelf);\n\
226 \n"
227
228 //==============================================================================
229 //
230 // EXTRINSIC_METHOD_PROTOTYPE
231 //
232 mike 1.1 //==============================================================================
233
234 #define EXTRINSIC_METHOD_PROTOTYPE "\
235 MI_EXTERN_C void MI_CALL <ALIAS>_Invoke_<METHOD>(\n\
236 <ALIAS>_Self* self,\n\
237 MI_Context* context,\n\
238 const MI_Char* nameSpace,\n\
239 const MI_Char* className,\n\
240 const MI_Char* methodName,\n\
241 const <ALIAS>* instanceName,\n\
242 const <ALIAS>_<METHOD>* in);\n\
243 \n"
244
245 #endif /* _migen_cprototypes_t_h */
|