Commit | Line | Data |
8ce86de8 |
1 | #include "EXTERN.h" |
2 | #include "perl.h" |
3 | #include "XSUB.h" |
89c3c464 |
4 | #include "ppport.h" |
8ce86de8 |
5 | |
d76d5647 |
6 | #ifdef I_SYSLOG |
7 | #include <syslog.h> |
8 | #endif |
8ce86de8 |
9 | |
89c3c464 |
10 | static SV *ident_svptr; |
11 | |
1cb0fb50 |
12 | #include "const-c.inc" |
8ce86de8 |
13 | |
8ce86de8 |
14 | MODULE = Sys::Syslog PACKAGE = Sys::Syslog |
15 | |
1cb0fb50 |
16 | INCLUDE: const-xs.inc |
8ce86de8 |
17 | |
18 | int |
19 | LOG_FAC(p) |
20 | INPUT: |
21 | int p |
22 | CODE: |
23 | #ifdef LOG_FAC |
24 | RETVAL = LOG_FAC(p); |
25 | #else |
26 | croak("Your vendor has not defined the Sys::Syslog macro LOG_FAC"); |
b621ec8a |
27 | RETVAL = -1; |
8ce86de8 |
28 | #endif |
29 | OUTPUT: |
30 | RETVAL |
31 | |
32 | int |
33 | LOG_PRI(p) |
34 | INPUT: |
35 | int p |
36 | CODE: |
37 | #ifdef LOG_PRI |
38 | RETVAL = LOG_PRI(p); |
39 | #else |
40 | croak("Your vendor has not defined the Sys::Syslog macro LOG_PRI"); |
b621ec8a |
41 | RETVAL = -1; |
8ce86de8 |
42 | #endif |
43 | OUTPUT: |
44 | RETVAL |
45 | |
46 | int |
47 | LOG_MAKEPRI(fac,pri) |
48 | INPUT: |
49 | int fac |
50 | int pri |
51 | CODE: |
52 | #ifdef LOG_MAKEPRI |
53 | RETVAL = LOG_MAKEPRI(fac,pri); |
54 | #else |
55 | croak("Your vendor has not defined the Sys::Syslog macro LOG_MAKEPRI"); |
b621ec8a |
56 | RETVAL = -1; |
8ce86de8 |
57 | #endif |
58 | OUTPUT: |
59 | RETVAL |
60 | |
61 | int |
62 | LOG_MASK(pri) |
63 | INPUT: |
64 | int pri |
65 | CODE: |
66 | #ifdef LOG_MASK |
67 | RETVAL = LOG_MASK(pri); |
68 | #else |
69 | croak("Your vendor has not defined the Sys::Syslog macro LOG_MASK"); |
b621ec8a |
70 | RETVAL = -1; |
8ce86de8 |
71 | #endif |
72 | OUTPUT: |
73 | RETVAL |
74 | |
75 | int |
76 | LOG_UPTO(pri) |
77 | INPUT: |
78 | int pri |
79 | CODE: |
80 | #ifdef LOG_UPTO |
81 | RETVAL = LOG_UPTO(pri); |
82 | #else |
83 | croak("Your vendor has not defined the Sys::Syslog macro LOG_UPTO"); |
b621ec8a |
84 | RETVAL = -1; |
8ce86de8 |
85 | #endif |
86 | OUTPUT: |
87 | RETVAL |
89c3c464 |
88 | |
89 | |
90 | void |
91 | openlog_xs(ident, option, facility) |
92 | INPUT: |
93 | SV* ident |
94 | int option |
95 | int facility |
96 | PREINIT: |
97 | STRLEN len; |
98 | char* ident_pv; |
99 | CODE: |
100 | ident_svptr = newSVsv(ident); |
101 | ident_pv = SvPV(ident_svptr, len); |
102 | openlog(ident_pv, option, facility); |
103 | |
104 | void |
105 | syslog_xs(priority, message) |
106 | INPUT: |
107 | int priority |
108 | const char * message |
109 | CODE: |
110 | syslog(priority, "%s", message); |
111 | |
112 | int |
113 | setlogmask_xs(mask) |
114 | INPUT: |
115 | int mask |
116 | CODE: |
117 | setlogmask(mask); |
118 | |
119 | void |
120 | closelog_xs() |
121 | CODE: |
122 | closelog(); |
123 | if (SvREFCNT(ident_svptr)) |
124 | SvREFCNT_dec(ident_svptr); |
125 | |