stumpless  2.1.0
facility.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: Apache-2.0 */
2 
3 /*
4  * Copyright 2018-2020 Joel E. Anderson
5  *
6  * Licensed under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 
28 #ifndef __STUMPLESS_FACILITY_H
29 # define __STUMPLESS_FACILITY_H
30 
31 # include <stumpless/config.h>
32 # include <stumpless/generator.h>
33 
34 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
35 # include <syslog.h>
36 # endif
37 
43 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
44 # define STUMPLESS_FACILITY_KERN_VALUE LOG_KERN
45 # else
46 # define STUMPLESS_FACILITY_KERN_VALUE 0
47 # endif
48 
54 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
55 # define STUMPLESS_FACILITY_USER_VALUE LOG_USER
56 # else
57 # define STUMPLESS_FACILITY_USER_VALUE ( 1 << 3 )
58 # endif
59 
65 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
66 # define STUMPLESS_FACILITY_MAIL_VALUE LOG_MAIL
67 # else
68 # define STUMPLESS_FACILITY_MAIL_VALUE ( 2 << 3 )
69 # endif
70 
76 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
77 # define STUMPLESS_FACILITY_DAEMON_VALUE LOG_DAEMON
78 # else
79 # define STUMPLESS_FACILITY_DAEMON_VALUE ( 3 << 3 )
80 # endif
81 
88 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
89 # define STUMPLESS_FACILITY_AUTH_VALUE LOG_AUTH
90 # else
91 # define STUMPLESS_FACILITY_AUTH_VALUE ( 4 << 3 )
92 # endif
93 
100 # define STUMPLESS_FACILITY_SYSLOG_VALUE ( 5 << 3 )
101 
107 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
108 # define STUMPLESS_FACILITY_LPR_VALUE LOG_LPR
109 # else
110 # define STUMPLESS_FACILITY_LPR_VALUE ( 6 << 3 )
111 # endif
112 
118 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
119 # define STUMPLESS_FACILITY_NEWS_VALUE LOG_NEWS
120 # else
121 # define STUMPLESS_FACILITY_NEWS_VALUE ( 7 << 3 )
122 # endif
123 
129 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
130 # define STUMPLESS_FACILITY_UUCP_VALUE LOG_UUCP
131 # else
132 # define STUMPLESS_FACILITY_UUCP_VALUE ( 8 << 3 )
133 # endif
134 
140 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
141 # define STUMPLESS_FACILITY_CRON_VALUE LOG_CRON
142 # else
143 # define STUMPLESS_FACILITY_CRON_VALUE ( 9 << 3 )
144 # endif
145 
151 # define STUMPLESS_FACILITY_AUTH2_VALUE ( 10 << 3 )
152 
158 # define STUMPLESS_FACILITY_FTP_VALUE ( 11 << 3 )
159 
165 # define STUMPLESS_FACILITY_NTP_VALUE ( 12 << 3 )
166 
172 # define STUMPLESS_FACILITY_AUDIT_VALUE ( 13 << 3 )
173 
179 # define STUMPLESS_FACILITY_ALERT_VALUE ( 14 << 3 )
180 
186 # define STUMPLESS_FACILITY_CRON2_VALUE ( 15 << 3 )
187 
193 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
194 # define STUMPLESS_FACILITY_LOCAL0_VALUE LOG_LOCAL0
195 # else
196 # define STUMPLESS_FACILITY_LOCAL0_VALUE ( 16 << 3 )
197 # endif
198 
204 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
205 # define STUMPLESS_FACILITY_LOCAL1_VALUE LOG_LOCAL1
206 # else
207 # define STUMPLESS_FACILITY_LOCAL1_VALUE ( 17 << 3 )
208 # endif
209 
215 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
216 # define STUMPLESS_FACILITY_LOCAL2_VALUE LOG_LOCAL2
217 # else
218 # define STUMPLESS_FACILITY_LOCAL2_VALUE ( 18 << 3 )
219 # endif
220 
226 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
227 # define STUMPLESS_FACILITY_LOCAL3_VALUE LOG_LOCAL3
228 # else
229 # define STUMPLESS_FACILITY_LOCAL3_VALUE ( 19 << 3 )
230 # endif
231 
237 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
238 # define STUMPLESS_FACILITY_LOCAL4_VALUE LOG_LOCAL4
239 # else
240 # define STUMPLESS_FACILITY_LOCAL4_VALUE ( 20 << 3 )
241 # endif
242 
248 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
249 # define STUMPLESS_FACILITY_LOCAL5_VALUE LOG_LOCAL5
250 # else
251 # define STUMPLESS_FACILITY_LOCAL5_VALUE ( 21 << 3 )
252 # endif
253 
259 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
260 # define STUMPLESS_FACILITY_LOCAL6_VALUE LOG_LOCAL6
261 # else
262 # define STUMPLESS_FACILITY_LOCAL6_VALUE ( 22 << 3 )
263 # endif
264 
270 # ifdef STUMPLESS_SYSLOG_H_COMPATIBLE
271 # define STUMPLESS_FACILITY_LOCAL7_VALUE LOG_LOCAL7
272 # else
273 # define STUMPLESS_FACILITY_LOCAL7_VALUE ( 23 << 3 )
274 # endif
275 
284 # define STUMPLESS_FOREACH_FACILITY( ACTION ) \
285  \
286 ACTION( STUMPLESS_FACILITY_KERN, STUMPLESS_FACILITY_KERN_VALUE ) \
287  \
288 ACTION( STUMPLESS_FACILITY_USER, STUMPLESS_FACILITY_USER_VALUE ) \
289  \
290 ACTION( STUMPLESS_FACILITY_MAIL, STUMPLESS_FACILITY_MAIL_VALUE ) \
291  \
292 ACTION( STUMPLESS_FACILITY_DAEMON, STUMPLESS_FACILITY_DAEMON_VALUE ) \
293  \
294 ACTION( STUMPLESS_FACILITY_AUTH, STUMPLESS_FACILITY_AUTH_VALUE ) \
295  \
296 ACTION( STUMPLESS_FACILITY_SYSLOG, STUMPLESS_FACILITY_SYSLOG_VALUE ) \
297  \
298 ACTION( STUMPLESS_FACILITY_LPR, STUMPLESS_FACILITY_LPR_VALUE ) \
299  \
300 ACTION( STUMPLESS_FACILITY_NEWS, STUMPLESS_FACILITY_NEWS_VALUE ) \
301  \
302 ACTION( STUMPLESS_FACILITY_UUCP, STUMPLESS_FACILITY_UUCP_VALUE ) \
303  \
304 ACTION( STUMPLESS_FACILITY_CRON, STUMPLESS_FACILITY_CRON_VALUE ) \
305  \
306 ACTION( STUMPLESS_FACILITY_AUTH2, STUMPLESS_FACILITY_AUTH2_VALUE ) \
307  \
308 ACTION( STUMPLESS_FACILITY_FTP, STUMPLESS_FACILITY_FTP_VALUE ) \
309  \
310 ACTION( STUMPLESS_FACILITY_NTP, STUMPLESS_FACILITY_NTP_VALUE ) \
311  \
312 ACTION( STUMPLESS_FACILITY_AUDIT, STUMPLESS_FACILITY_AUDIT_VALUE ) \
313  \
314 ACTION( STUMPLESS_FACILITY_ALERT, STUMPLESS_FACILITY_ALERT_VALUE ) \
315  \
316 ACTION( STUMPLESS_FACILITY_CRON2, STUMPLESS_FACILITY_CRON2_VALUE ) \
317  \
318 ACTION( STUMPLESS_FACILITY_LOCAL0, STUMPLESS_FACILITY_LOCAL0_VALUE ) \
319  \
320 ACTION( STUMPLESS_FACILITY_LOCAL1, STUMPLESS_FACILITY_LOCAL1_VALUE ) \
321  \
322 ACTION( STUMPLESS_FACILITY_LOCAL2, STUMPLESS_FACILITY_LOCAL2_VALUE ) \
323  \
324 ACTION( STUMPLESS_FACILITY_LOCAL3, STUMPLESS_FACILITY_LOCAL3_VALUE ) \
325  \
326 ACTION( STUMPLESS_FACILITY_LOCAL4, STUMPLESS_FACILITY_LOCAL4_VALUE ) \
327  \
328 ACTION( STUMPLESS_FACILITY_LOCAL5, STUMPLESS_FACILITY_LOCAL5_VALUE ) \
329  \
330 ACTION( STUMPLESS_FACILITY_LOCAL6, STUMPLESS_FACILITY_LOCAL6_VALUE ) \
331  \
332 ACTION( STUMPLESS_FACILITY_LOCAL7, STUMPLESS_FACILITY_LOCAL7_VALUE )
333 
334 # ifdef __cplusplus
335 extern "C" {
336 # endif
337 
348 };
349 
372 const char *
374 
397 stumpless_get_facility_enum( const char *facility_string );
398 
399 # ifdef __cplusplus
400 } /* extern "C" */
401 # endif
402 
403 #endif /* __STUMPLESS_FACILITY_H */
stumpless_get_facility_enum
enum stumpless_facility stumpless_get_facility_enum(const char *facility_string)
Gets the enum value corresponding to the given facility string.
STUMPLESS_GENERATE_ENUM
#define STUMPLESS_GENERATE_ENUM(NAME, VALUE)
Returns a definition of a symbol with the given name and value fit for use in an enum definition.
Definition: generator.h:33
stumpless_get_facility_string
const char * stumpless_get_facility_string(enum stumpless_facility facility)
Gets the string representation of the given facility.
STUMPLESS_FOREACH_FACILITY
#define STUMPLESS_FOREACH_FACILITY(ACTION)
A macro function that runs the provided action once for each facility, providing the symbol and value...
Definition: facility.h:284
stumpless_facility
stumpless_facility
All possible facility codes available to log entries.
Definition: facility.h:346
STUMPLESS_PUBLIC_FUNCTION
#define STUMPLESS_PUBLIC_FUNCTION
Marks functions that are provided for use by the library.
Definition: config.h:31
config.h
generator.h