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 #ifndef _provreg_regfile_h
26 #define _provreg_regfile_h
27
28 #include <common.h>
|
29 krisbash 1.3 #include "provreg.h"
30
31 /* Maximum line length */
32 #define MAX_LINE 1024
|
33 mike 1.1
34 BEGIN_EXTERNC
35
36 typedef struct _RegClass
37 {
38 /* Same initial members as ListElem */
39 struct _RegClass* next;
40 struct _RegClass* prev;
41
42 char* name;
43 char* refName1;
44 char* refName2;
45
46 /* Provider process-hosting model */
47 char* hosting;
|
48 krisbash 1.3
49 /* Registered class type */
50 ProvRegType regtype;
|
51 mike 1.1 }
52 RegClass;
53
54 typedef struct _RegFile
55 {
56 char* library;
|
57 krisbash 1.3
58 #if defined(CONFIG_ENABLE_PREEXEC)
59
60 /* Name of program to be executed before invoking this provider */
61 char* preexec;
62
63 #endif /* defined(CONFIG_ENABLE_PREEXEC) */
64
65 /* 1 if lifetime of instance is that of context,
66 * 0 otherwise
67 */
68 int instanceLifetimeContext;
69
|
70 mike 1.1 RegClass* classesHead;
71 RegClass* classesTail;
|
72 krisbash 1.3 RegClass* extraClassesHead;
73 RegClass* extraClassesTail;
|
74 mike 1.1 }
75 RegFile;
76
77 RegFile* RegFile_New(const char* path);
78
79 void RegFile_Delete(RegFile* self);
80
81 void RegFile_Print(RegFile* self, FILE* os);
82
83 END_EXTERNC
84
85 #endif /* _provreg_regfile_h */
|