1 /*- 2 * Copyright (c) 1997 Brian Somers <brian@Awfulhak.org> 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions 7 * are met: 8 * 1. Redistributions of source code must retain the above copyright 9 * notice, this list of conditions and the following disclaimer. 10 * 2. Redistributions in binary form must reproduce the above copyright 11 * notice, this list of conditions and the following disclaimer in the 12 * documentation and/or other materials provided with the distribution. 13 * 14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17 * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24 * SUCH DAMAGE. 25 * 26 * $FreeBSD$ 27 */ 28 29 #define LogMIN (1) 30 #define LogASYNC (1) /* syslog(LOG_INFO, ....) */ 31 #define LogCBCP (2) 32 #define LogCCP (3) 33 #define LogCHAT (4) 34 #define LogCOMMAND (5) 35 #define LogCONNECT (6) 36 #define LogDEBUG (7) /* syslog(LOG_DEBUG, ....) */ 37 #define LogDNS (8) 38 #define LogFILTER (9) 39 #define LogHDLC (10) 40 #define LogID0 (11) 41 #define LogIPCP (12) 42 #define LogLCP (13) 43 #define LogLQM (14) 44 #define LogPHASE (15) 45 #define LogPHYSICAL (16) /* syslog(LOG_INFO, ....) */ 46 #define LogSYNC (17) /* syslog(LOG_INFO, ....) */ 47 #define LogTCPIP (18) 48 #define LogTIMER (19) /* syslog(LOG_DEBUG, ....) */ 49 #define LogTUN (20) /* If set, tun%d is output with each message */ 50 #define LogWARN (21) /* Sent to VarTerm else syslog(LOG_WARNING, ) */ 51 #define LogERROR (22) /* syslog(LOG_ERR, ....), + sent to VarTerm */ 52 #define LogALERT (23) /* syslog(LOG_ALERT, ....) */ 53 54 #define LogMAXCONF (20) 55 #define LogMAX (23) 56 57 struct mbuf; 58 struct cmdargs; 59 struct prompt; 60 struct server; 61 struct datalink; 62 63 /* The first int arg for all of the following is one of the above values */ 64 extern const char *log_Name(int); 65 extern void log_Keep(int); 66 extern void log_KeepLocal(int, u_long *); 67 extern void log_Discard(int); 68 extern void log_DiscardLocal(int, u_long *); 69 extern void log_DiscardAll(void); 70 extern void log_DiscardAllLocal(u_long *); 71 #define LOG_KEPT_SYSLOG (1) /* Results of log_IsKept() */ 72 #define LOG_KEPT_LOCAL (2) /* Results of log_IsKept() */ 73 extern int log_IsKept(int); 74 extern int log_IsKeptLocal(int, u_long); 75 extern void log_Open(const char *); 76 extern void log_SetTun(int); 77 extern void log_Close(void); 78 #ifdef __GNUC__ 79 extern void log_Printf(int, const char *,...) 80 __attribute__ ((format (printf, 2, 3))); 81 extern void log_WritePrompts(struct datalink *, const char *, ...) 82 __attribute__ ((format (printf, 2, 3))); 83 #else 84 extern void log_Printf(int, const char *,...); 85 extern void log_WritePrompts(struct datalink *, const char *, ...); 86 #endif 87 extern void log_DumpBp(int, const char *, const struct mbuf *); 88 extern void log_DumpBuff(int, const char *, const u_char *, int); 89 extern int log_ShowLevel(struct cmdargs const *); 90 extern int log_SetLevel(struct cmdargs const *); 91 extern int log_ShowWho(struct cmdargs const *); 92 93 extern struct prompt *log_PromptContext; 94 extern int log_PromptListChanged; 95 extern void log_RegisterPrompt(struct prompt *); 96 extern void log_UnRegisterPrompt(struct prompt *); 97 extern void log_DestroyPrompts(struct server *); 98 extern void log_DisplayPrompts(void); 99 extern void log_ActivatePrompt(struct prompt *); 100 extern void log_DeactivatePrompt(struct prompt *); 101 extern void log_SetTtyCommandMode(struct datalink *); 102 extern struct prompt *log_PromptList(void); 103