1706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh/*- 2706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * Copyright (c) 1997 Brian Somers <brian@Awfulhak.org> 3706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * All rights reserved. 4706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * 5706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * Redistribution and use in source and binary forms, with or without 6706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * modification, are permitted provided that the following conditions 7706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * are met: 8706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * 1. Redistributions of source code must retain the above copyright 9706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * notice, this list of conditions and the following disclaimer. 10706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * 2. Redistributions in binary form must reproduce the above copyright 11706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * notice, this list of conditions and the following disclaimer in the 12706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * documentation and/or other materials provided with the distribution. 13706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * 14706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 15706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 17706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 18706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 20706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 21706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 22706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 23706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 24706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * SUCH DAMAGE. 25706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * 26706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh * $FreeBSD: src/usr.sbin/ppp/log.h,v 1.34.34.1 2010/12/21 17:10:29 kensmith Exp $ 27706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh */ 28706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh 29706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogLOG (0) 30706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogMIN (1) 31706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogASYNC (1) /* syslog(LOG_INFO, ....) */ 32706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogCBCP (2) 33706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogCCP (3) 34706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogCHAT (4) 35706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogCOMMAND (5) 36706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogCONNECT (6) 37706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogDEBUG (7) /* syslog(LOG_DEBUG, ....) */ 38706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogDNS (8) 39706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogFILTER (9) 40706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogHDLC (10) 41706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogID0 (11) 42706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogIPCP (12) 43706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogIPV6CP (13) 44706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogLCP (14) 45706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogLQM (15) 46706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogPHASE (16) 47706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogPHYSICAL (17) /* syslog(LOG_INFO, ....) */ 48706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogRADIUS (18) /* syslog(LOG_INFO, ....) */ 49706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogSYNC (19) /* syslog(LOG_INFO, ....) */ 50706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogTCPIP (20) 51706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogTIMER (21) /* syslog(LOG_DEBUG, ....) */ 52706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogTUN (22) /* If set, tun%d is output with each message */ 53706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogWARN (23) /* Sent to VarTerm else syslog(LOG_WARNING, ) */ 54706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogERROR (24) /* syslog(LOG_ERR, ....), + sent to VarTerm */ 55706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogALERT (25) /* syslog(LOG_ALERT, ....) */ 56706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh 57706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogMAXCONF (22) 58706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LogMAX (25) 59706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh 60706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehstruct mbuf; 61706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehstruct cmdargs; 62706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehstruct prompt; 63706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehstruct server; 64706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehstruct datalink; 65706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh 66706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh/* The first int arg for all of the following is one of the above values */ 67706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern const char *log_Name(int); 68706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Keep(int); 69706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_KeepLocal(int, u_long *); 70706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Discard(int); 71706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DiscardLocal(int, u_long *); 72706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DiscardAll(void); 73706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DiscardAllLocal(u_long *); 74706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LOG_KEPT_SYSLOG (1) /* Results of log_IsKept() */ 75706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#define LOG_KEPT_LOCAL (2) /* Results of log_IsKept() */ 76706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_IsKept(int); 77706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_IsKeptLocal(int, u_long); 78706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Open(const char *); 79706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_SetTun(int); 80706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Close(void); 81706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#ifdef __GNUC__ 82706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Printf(int, const char *,...) 83706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh __attribute__ ((format (printf, 2, 3))); 84706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_WritePrompts(struct datalink *, const char *, ...) 85706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh __attribute__ ((format (printf, 2, 3))); 86706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#else 87706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_Printf(int, const char *,...); 88706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_WritePrompts(struct datalink *, const char *, ...); 89706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh#endif 90706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DumpBp(int, const char *, const struct mbuf *); 91706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DumpBuff(int, const char *, const u_char *, int); 92706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_ShowLevel(struct cmdargs const *); 93706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_SetLevel(struct cmdargs const *); 94706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_ShowWho(struct cmdargs const *); 95706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yeh 96706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern struct prompt *log_PromptContext; 97706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern int log_PromptListChanged; 98706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_RegisterPrompt(struct prompt *); 99706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_UnRegisterPrompt(struct prompt *); 100706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DestroyPrompts(struct server *); 101706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DisplayPrompts(void); 102706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_ActivatePrompt(struct prompt *); 103706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_DeactivatePrompt(struct prompt *); 104706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern void log_SetTtyCommandMode(struct datalink *); 105706e567fc5ff6b79738a5f470e5aa7b2cae76459Chia-chi Yehextern struct prompt *log_PromptList(void); 106