annotate Modules/syslogmodule.c @ 6719:faebc1940432 legacy-trunk

Understand -Xlinker option.
author Guido van Rossum <guido@python.org>
date Tue, 02 Dec 1997 20:38:11 +0000
parents 994376af9064
children ea7dc510e2df
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
1 /***********************************************************
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
2 Copyright 1994 by Lance Ellinghouse,
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
3 Cathedral City, California Republic, United States of America.
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
4
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
5 All Rights Reserved
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
6
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
7 Permission to use, copy, modify, and distribute this software and its
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
8 documentation for any purpose and without fee is hereby granted,
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
9 provided that the above copyright notice appear in all copies and that
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
10 both that copyright notice and this permission notice appear in
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
11 supporting documentation, and that the name of Lance Ellinghouse
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
12 not be used in advertising or publicity pertaining to distribution
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
13 of the software without specific, written prior permission.
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
14
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
15 LANCE ELLINGHOUSE DISCLAIMS ALL WARRANTIES WITH REGARD TO
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
16 THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
17 FITNESS, IN NO EVENT SHALL LANCE ELLINGHOUSE BE LIABLE FOR ANY SPECIAL,
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
18 INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
19 FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
20 NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
21 WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
22
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
23 ******************************************************************/
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
24
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
25 /******************************************************************
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
26
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
27 Revision history:
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
28
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
29 95/06/29 (Steve Clift)
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
30 - Changed arg parsing to use PyArg_ParseTuple.
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
31 - Added PyErr_Clear() call(s) where needed.
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
32 - Fix core dumps if user message contains format specifiers.
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
33 - Change openlog arg defaults to match normal syslog behaviour.
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
34 - Plug memory leak in openlog().
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
35 - Fix setlogmask() to return previous mask value.
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
36
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
37 ******************************************************************/
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
38
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
39 /* syslog module */
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
40
2123
fd5ab7e828fc cosmetic changes so these modules will work with the strict new naming scheme
Guido van Rossum <guido@python.org>
parents: 1855
diff changeset
41 #include "Python.h"
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
42
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
43 #include <syslog.h>
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
44
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
45 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
46 syslog_openlog(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
47 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
48 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
49 {
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
50 long logopt = 0;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
51 long facility = LOG_USER;
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
52
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
53 static PyObject *ident_o = NULL;
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
54
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
55 Py_XDECREF(ident_o);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
56 if (!PyArg_ParseTuple(args,
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
57 "S|ll;ident string [, logoption [, facility]]",
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
58 &ident_o, &logopt, &facility))
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
59 return NULL;
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
60
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
61 /* This is needed because openlog() does NOT make a copy
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
62 * and syslog() later uses it.. cannot trash it.
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
63 */
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
64 Py_INCREF(ident_o);
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
65
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
66 openlog(PyString_AsString(ident_o), logopt, facility);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
67
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
68 Py_INCREF(Py_None);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
69 return Py_None;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
70 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
71
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
72
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
73 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
74 syslog_syslog(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
75 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
76 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
77 {
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
78 char *message;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
79 int priority = LOG_INFO | LOG_USER;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
80
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
81 if (!PyArg_ParseTuple(args, "is;[priority,] message string",
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
82 &priority, &message)) {
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
83 PyErr_Clear();
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
84 if (!PyArg_ParseTuple(args, "s;[priority,] message string",
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
85 &message))
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
86 return NULL;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
87 }
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
88 syslog(priority, "%s", message);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
89 Py_INCREF(Py_None);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
90 return Py_None;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
91 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
92
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
93 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
94 syslog_closelog(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
95 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
96 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
97 {
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
98 if (!PyArg_ParseTuple(args, ""))
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
99 return NULL;
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
100 closelog();
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
101 Py_INCREF(Py_None);
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
102 return Py_None;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
103 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
104
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
105 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
106 syslog_setlogmask(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
107 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
108 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
109 {
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
110 long maskpri, omaskpri;
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
111
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
112 if (!PyArg_ParseTuple(args, "l;mask for priority", &maskpri))
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
113 return NULL;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
114 omaskpri = setlogmask(maskpri);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
115 return PyInt_FromLong(omaskpri);
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
116 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
117
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
118 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
119 syslog_log_mask(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
120 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
121 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
122 {
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
123 long mask;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
124 long pri;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
125 if (!PyArg_ParseTuple(args, "l", &pri))
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
126 return NULL;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
127 mask = LOG_MASK(pri);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
128 return PyInt_FromLong(mask);
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
129 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
130
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
131 static PyObject *
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
132 syslog_log_upto(self, args)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
133 PyObject * self;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
134 PyObject * args;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
135 {
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
136 long mask;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
137 long pri;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
138 if (!PyArg_ParseTuple(args, "l", &pri))
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
139 return NULL;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
140 mask = LOG_UPTO(pri);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
141 return PyInt_FromLong(mask);
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
142 }
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
143
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
144 /* List of functions defined in the module */
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
145
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
146 static PyMethodDef syslog_methods[] = {
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
147 {"openlog", syslog_openlog, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
148 {"closelog", syslog_closelog, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
149 {"syslog", syslog_syslog, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
150 {"setlogmask", syslog_setlogmask, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
151 {"LOG_MASK", syslog_log_mask, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
152 {"LOG_UPTO", syslog_log_upto, METH_VARARGS},
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
153 {NULL, NULL, 0}
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
154 };
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
155
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
156 /* Initialization function for the module */
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
157
4981
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
158 static void
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
159 ins(d, s, x)
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
160 PyObject *d;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
161 char *s;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
162 long x;
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
163 {
4981
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
164 PyObject *v = PyInt_FromLong(x);
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
165 if (v) {
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
166 PyDict_SetItemString(d, s, v);
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
167 Py_DECREF(v);
994376af9064 (puremodule.c): New module which exports the Purify and Quantify C API
Barry Warsaw <barry@python.org>
parents: 4921
diff changeset
168 }
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
169 }
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
170
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
171
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
172 void
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
173 initsyslog()
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
174 {
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
175 PyObject *m, *d;
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
176
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
177 /* Create the module and add the functions */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
178 m = Py_InitModule("syslog", syslog_methods);
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
179
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
180 /* Add some symbolic constants to the module */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
181 d = PyModule_GetDict(m);
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
182
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
183 /* Priorities */
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
184 ins(d, "LOG_EMERG", LOG_EMERG);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
185 ins(d, "LOG_ALERT", LOG_ALERT);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
186 ins(d, "LOG_CRIT", LOG_CRIT);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
187 ins(d, "LOG_ERR", LOG_ERR);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
188 ins(d, "LOG_WARNING", LOG_WARNING);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
189 ins(d, "LOG_NOTICE", LOG_NOTICE);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
190 ins(d, "LOG_INFO", LOG_INFO);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
191 ins(d, "LOG_DEBUG", LOG_DEBUG);
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
192
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
193 /* openlog() option flags */
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
194 ins(d, "LOG_PID", LOG_PID);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
195 ins(d, "LOG_CONS", LOG_CONS);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
196 ins(d, "LOG_NDELAY", LOG_NDELAY);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
197 ins(d, "LOG_NOWAIT", LOG_NOWAIT);
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
198 #ifdef LOG_PERROR
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
199 ins(d, "LOG_PERROR", LOG_PERROR);
3197
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
200 #endif
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
201
5d16ecae8ee7 changes by Steve Clift
Guido van Rossum <guido@python.org>
parents: 2123
diff changeset
202 /* Facilities */
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
203 ins(d, "LOG_KERN", LOG_KERN);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
204 ins(d, "LOG_USER", LOG_USER);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
205 ins(d, "LOG_MAIL", LOG_MAIL);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
206 ins(d, "LOG_DAEMON", LOG_DAEMON);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
207 ins(d, "LOG_AUTH", LOG_AUTH);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
208 ins(d, "LOG_LPR", LOG_LPR);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
209 #ifdef LOG_NEWS
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
210 ins(d, "LOG_NEWS", LOG_NEWS);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
211 #else
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
212 ins(d, "LOG_NEWS", LOG_MAIL);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
213 #endif
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
214 #ifdef LOG_UUCP
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
215 ins(d, "LOG_UUCP", LOG_UUCP);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
216 #else
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
217 ins(d, "LOG_UUCP", LOG_MAIL);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
218 #endif
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
219 #ifdef LOG_CRON
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
220 ins(d, "LOG_CRON", LOG_CRON);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
221 #else
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
222 ins(d, "LOG_CRON", LOG_DAEMON);
3843
de0ad7527de7 Some NeXT changes (default certain symbols to others)
Guido van Rossum <guido@python.org>
parents: 3197
diff changeset
223 #endif
4921
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
224 ins(d, "LOG_LOCAL0", LOG_LOCAL0);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
225 ins(d, "LOG_LOCAL1", LOG_LOCAL1);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
226 ins(d, "LOG_LOCAL2", LOG_LOCAL2);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
227 ins(d, "LOG_LOCAL3", LOG_LOCAL3);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
228 ins(d, "LOG_LOCAL4", LOG_LOCAL4);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
229 ins(d, "LOG_LOCAL5", LOG_LOCAL5);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
230 ins(d, "LOG_LOCAL6", LOG_LOCAL6);
558abac7598d Formatting changes, plus memory management in initsyslog()
Barry Warsaw <barry@python.org>
parents: 4600
diff changeset
231 ins(d, "LOG_LOCAL7", LOG_LOCAL7);
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
232
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
233 /* Check for errors */
1855
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
234 if (PyErr_Occurred())
9dbdb83d4178 Lance has converted his modules to the new naming conventions, and
Guido van Rossum <guido@python.org>
parents: 1737
diff changeset
235 Py_FatalError("can't initialize module syslog");
1737
ee2f88a4f9e2 Added some names to Setup.in, and added syslogmodule.c.
Guido van Rossum <guido@python.org>
parents:
diff changeset
236 }