1 kumpf 1.1.4.2 /*
2 //%2006////////////////////////////////////////////////////////////////////////
3 //
4 // Copyright (c) 2000, 2001, 2002 BMC Software; Hewlett-Packard Development
5 // Company, L.P.; IBM Corp.; The Open Group; Tivoli Systems.
6 // Copyright (c) 2003 BMC Software; Hewlett-Packard Development Company, L.P.;
7 // IBM Corp.; EMC Corporation, The Open Group.
8 // Copyright (c) 2004 BMC Software; Hewlett-Packard Development Company, L.P.;
9 // IBM Corp.; EMC Corporation; VERITAS Software Corporation; The Open Group.
10 // Copyright (c) 2005 Hewlett-Packard Development Company, L.P.; IBM Corp.;
11 // EMC Corporation; VERITAS Software Corporation; The Open Group.
12 // Copyright (c) 2006 Hewlett-Packard Development Company, L.P.; IBM Corp.;
13 // EMC Corporation; Symantec Corporation; The Open Group.
14 //
15 // Permission is hereby granted, free of charge, to any person obtaining a copy
16 // of this software and associated documentation files (the "Software"), to
17 // deal in the Software without restriction, including without limitation the
18 // rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
19 // sell copies of the Software, and to permit persons to whom the Software is
20 // furnished to do so, subject to the following conditions:
21 //
22 kumpf 1.1.4.2 // THE ABOVE COPYRIGHT NOTICE AND THIS PERMISSION NOTICE SHALL BE INCLUDED IN
23 // ALL COPIES OR SUBSTANTIAL PORTIONS OF THE SOFTWARE. THE SOFTWARE IS PROVIDED
24 // "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
25 // LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
26 // PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
27 // HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
28 // ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
29 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
30 //
31 //%/////////////////////////////////////////////////////////////////////////////
32 */
33
34 #ifndef _Executor_Defines_h
35 #define _Executor_Defines_h
36
37 #include <Pegasus/Common/Config.h>
38 #include <Pegasus/Common/Constants.h>
39 #include <assert.h>
40
41 /*
42 **==============================================================================
43 kumpf 1.1.4.2 **
44 ** EXECUTOR_LINKAGE
45 **
46 ** Linkage macro used to export various functions in the executor. Since the
47 ** executor is a self-contained program, export linkage may seem unecessary
48 ** but the source files in this directory are also included in a test
49 ** library used to test some of the executor functions.
50 **
51 **==============================================================================
52 */
53
54 #ifdef EXECUTOR_PLEASE_EXPORT
55 # define EXECUTOR_LINKAGE PEGASUS_EXPORT
56 #else
57 # define EXECUTOR_LINKAGE PEGASUS_IMPORT
58 #endif
59
60 /*
61 **==============================================================================
62 **
63 ** EXECUTOR_TRACE()
64 kumpf 1.1.4.2 **
65 ** Handy macro for temporary source-level tracing and debugging.
66 **
67 **==============================================================================
68 */
69
70 #define EXECUTOR_TRACE printf("TRACE: %s(%d)\n", __FILE__, __LINE__)
71
72 /*
73 **==============================================================================
74 **
75 ** EXECUTOR_RESTART()
76 **
77 ** Macro used to repeatedly restart (retry) a system call as long as the
78 ** errno is EINTR.
79 **
80 **==============================================================================
81 */
82
83 #define EXECUTOR_RESTART(F, X) while (((X = (F)) == -1) && (errno == EINTR))
84
85 kumpf 1.1.4.2 /*
86 **==============================================================================
87 **
88 ** EXECUTOR_BUFFER_SIZE
89 **
90 ** General purpose buffer size (large enough for any file path or user
91 ** name).
92 **
93 **==============================================================================
94 */
95
96 #define EXECUTOR_BUFFER_SIZE 4096
97
98 /*
99 **==============================================================================
100 **
101 ** FL
102 **
103 ** Shorthand macro for passing __FILE__ and __LINE__ arguments to a
104 ** function.
105 **
106 kumpf 1.1.4.2 **==============================================================================
107 */
108
109 #define FL __FILE__, __LINE__
110
111 /*
112 **==============================================================================
113 **
114 ** CIMSERVERMAIN
115 **
116 ** The name of the main CIM server program.
117 **
118 **==============================================================================
119 */
120
121 #define CIMSERVERMAIN "cimservermain"
122
123 /*
124 **==============================================================================
125 **
126 ** CIMSHUTDOWN
127 kumpf 1.1.4.2 **
128 ** The name of the main CIM shutdown program.
129 **
130 **==============================================================================
131 */
132
133 #define CIMSHUTDOWN "cimshutdown"
134
135 /*
136 **==============================================================================
137 **
138 ** CIMPROVAGT
139 **
140 ** The name of the provider agent program.
141 **
142 **==============================================================================
143 */
144
145 #define CIMPROVAGT "cimprovagt"
146
147 /*
148 kumpf 1.1.4.2 **==============================================================================
149 **
150 ** CIMSERVERA
151 **
152 ** The name of the external PAM authentication program.
153 **
154 **==============================================================================
155 */
156
157 #define CIMSERVERA "cimservera"
158
159 /*
160 **==============================================================================
161 **
162 ** EXIT_ON_POLICY_FAILURE
163 **
164 ** If this is defined, the executor exits on any policy failure.
165 **
166 **==============================================================================
167 */
168
169 kumpf 1.1.4.2 #if 0
170 # define EXIT_ON_POLICY_FAILURE
171 #endif
172
173 /*
174 **==============================================================================
175 **
176 ** HAVE_MSG_CONTROL
177 **
178 ** Define this if the platform support Berkeley msg control structures.
179 **
180 **==============================================================================
181 */
182
183 #if defined(PEGASUS_OS_LINUX)
184 # define HAVE_MSG_CONTROL
185 #endif
186
187 #endif /* _Executor_Defines_h */
|