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