- remove compat junks
[dragonfly.git] / usr.sbin / atm / atmarpd / atmarp_log.c
1 /*
2  *
3  * ===================================
4  * HARP  |  Host ATM Research Platform
5  * ===================================
6  *
7  *
8  * This Host ATM Research Platform ("HARP") file (the "Software") is
9  * made available by Network Computing Services, Inc. ("NetworkCS")
10  * "AS IS".  NetworkCS does not provide maintenance, improvements or
11  * support of any kind.
12  *
13  * NETWORKCS MAKES NO WARRANTIES OR REPRESENTATIONS, EXPRESS OR IMPLIED,
14  * INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
15  * AND FITNESS FOR A PARTICULAR PURPOSE, AS TO ANY ELEMENT OF THE
16  * SOFTWARE OR ANY SUPPORT PROVIDED IN CONNECTION WITH THIS SOFTWARE.
17  * In no event shall NetworkCS be responsible for any damages, including
18  * but not limited to consequential damages, arising from or relating to
19  * any use of the Software or related support.
20  *
21  * Copyright 1994-1998 Network Computing Services, Inc.
22  *
23  * Copies of this Software may be made, however, the above copyright
24  * notice must be reproduced on all copies.
25  *
26  *      @(#) $FreeBSD: src/usr.sbin/atm/atmarpd/atmarp_log.c,v 1.3 1999/08/28 01:15:30 peter Exp $
27  *      @(#) $DragonFly: src/usr.sbin/atm/atmarpd/atmarp_log.c,v 1.3 2003/11/15 20:33:42 eirikn Exp $
28  */
29
30
31 /*
32  * Server Cache Synchronization Protocol (SCSP) Support
33  * ----------------------------------------------------
34  *
35  * SCSP-ATMARP server interface: logging routines
36  *
37  */
38
39 #include <sys/types.h>
40 #include <sys/param.h>
41 #include <sys/socket.h>
42 #include <net/if.h>
43 #include <netinet/in.h>
44 #include <netatm/queue.h>
45 #include <netatm/atm.h>
46 #include <netatm/atm_if.h>
47 #include <netatm/atm_sap.h>
48 #include <netatm/atm_sys.h>
49 #include <netatm/atm_ioctl.h>
50  
51 #include <errno.h>
52 #include <libatm.h>
53 #if __STDC__
54 #include <stdarg.h>
55 #else
56 #include <varargs.h>
57 #endif
58 #include <stdio.h>
59 #include <syslog.h>
60
61 #include "../scspd/scsp_msg.h"
62 #include "../scspd/scsp_if.h"
63 #include "../scspd/scsp_var.h"
64 #include "atmarp_var.h"
65
66 /*
67  * Write a message to atmarpd's log
68  *
69  * Arguments:
70  *      level   the level (error, info, etc.) of the message
71  *      fmt     printf-style format string
72  *      ...     parameters for printf-style use according to fmt
73  *
74  * Returns:
75  *      none
76  *
77  */
78 void
79 atmarp_log(const int level, const char *fmt, ...)
80 {
81         va_list ap;
82
83         va_start(ap, fmt);
84
85         /*
86          * In debug mode, just write to stdout
87          */
88         if (atmarp_debug_mode) {
89                 vprintf(fmt, ap);
90                 printf("\n");
91                 return;
92         }
93
94         /*
95          * Check whether we have a log file set up
96          */
97         if (!atmarp_log_file) {
98                 /*
99                  * Write to syslog
100                  */
101                 vsyslog(level, fmt, ap);
102         } else {
103                 /*
104                  * Write to the log file
105                  */
106                 vfprintf(atmarp_log_file, fmt, ap);
107                 fprintf(atmarp_log_file, "\n");
108         }
109
110         va_end(ap);
111 }
112
113
114 /*
115  * Log a memory error and exit
116  *
117  * Arguments:
118  *      cp      message to log
119  *
120  * Returns:
121  *      exits, does not return
122  *
123  */
124 void
125 atmarp_mem_err(char *cp)
126 {
127         atmarp_log(LOG_CRIT, "out of memory: %s", cp);
128         exit(2);
129 }