131921Sbrian/*-
2330449Seadler * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
3330449Seadler *
431921Sbrian * Copyright (c) 1997 Brian Somers <brian@Awfulhak.org>
531921Sbrian * All rights reserved.
631921Sbrian *
731921Sbrian * Redistribution and use in source and binary forms, with or without
831921Sbrian * modification, are permitted provided that the following conditions
931921Sbrian * are met:
1031921Sbrian * 1. Redistributions of source code must retain the above copyright
1131921Sbrian *    notice, this list of conditions and the following disclaimer.
1231921Sbrian * 2. Redistributions in binary form must reproduce the above copyright
1331921Sbrian *    notice, this list of conditions and the following disclaimer in the
1431921Sbrian *    documentation and/or other materials provided with the distribution.
1531921Sbrian *
1631921Sbrian * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
1731921Sbrian * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
1831921Sbrian * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
1931921Sbrian * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
2031921Sbrian * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
2131921Sbrian * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
2231921Sbrian * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
2331921Sbrian * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2431921Sbrian * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
2531921Sbrian * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
2631921Sbrian * SUCH DAMAGE.
2731921Sbrian *
2850479Speter * $FreeBSD: stable/11/usr.sbin/ppp/log.h 330449 2018-03-05 07:26:05Z eadler $
2930715Sbrian */
3030715Sbrian
3185991Sbrian#define LogLOG		(0)
3226516Sbrian#define LogMIN		(1)
3328679Sbrian#define LogASYNC	(1)	/* syslog(LOG_INFO, ....)	 */
3438174Sbrian#define LogCBCP		(2)
3538174Sbrian#define LogCCP		(3)
3638174Sbrian#define LogCHAT		(4)
3738174Sbrian#define LogCOMMAND	(5)
3838174Sbrian#define LogCONNECT	(6)
3938174Sbrian#define LogDEBUG	(7)	/* syslog(LOG_DEBUG, ....)	 */
4058033Sbrian#define LogDNS		(8)
4165181Sbrian#define LogFILTER       (9)
4265181Sbrian#define LogHDLC		(10)
4365181Sbrian#define LogID0		(11)
4465181Sbrian#define LogIPCP		(12)
4581634Sbrian#define LogIPV6CP	(13)
4681634Sbrian#define LogLCP		(14)
4781634Sbrian#define LogLQM		(15)
4881634Sbrian#define LogPHASE	(16)
4981634Sbrian#define LogPHYSICAL	(17)	/* syslog(LOG_INFO, ....)	 */
50132273Sbrian#define LogRADIUS	(18)	/* syslog(LOG_INFO, ....)	 */
51132273Sbrian#define LogSYNC		(19)	/* syslog(LOG_INFO, ....)	 */
52132273Sbrian#define LogTCPIP	(20)
53132273Sbrian#define LogTIMER	(21)	/* syslog(LOG_DEBUG, ....)	 */
54132273Sbrian#define LogTUN		(22)	/* If set, tun%d is output with each message */
55132273Sbrian#define LogWARN		(23)	/* Sent to VarTerm else syslog(LOG_WARNING, ) */
56132273Sbrian#define LogERROR	(24)	/* syslog(LOG_ERR, ....), + sent to VarTerm */
57132273Sbrian#define LogALERT	(25)	/* syslog(LOG_ALERT, ....)	 */
586059Samurai
59132273Sbrian#define LogMAXCONF	(22)
60132273Sbrian#define LogMAX		(25)
6158033Sbrian
6236285Sbrianstruct mbuf;
6336285Sbrianstruct cmdargs;
6436285Sbrianstruct prompt;
6536314Sbrianstruct server;
6636314Sbrianstruct datalink;
6736285Sbrian
6826516Sbrian/* The first int arg for all of the following is one of the above values */
6936285Sbrianextern const char *log_Name(int);
7036285Sbrianextern void log_Keep(int);
7136285Sbrianextern void log_KeepLocal(int, u_long *);
7236285Sbrianextern void log_Discard(int);
7336285Sbrianextern void log_DiscardLocal(int, u_long *);
7436285Sbrianextern void log_DiscardAll(void);
7536285Sbrianextern void log_DiscardAllLocal(u_long *);
7636285Sbrian#define LOG_KEPT_SYSLOG (1)	/* Results of log_IsKept() */
7736285Sbrian#define LOG_KEPT_LOCAL  (2)	/* Results of log_IsKept() */
7836285Sbrianextern int log_IsKept(int);
7936285Sbrianextern int log_IsKeptLocal(int, u_long);
8036285Sbrianextern void log_Open(const char *);
81218397Sbrianextern void log_SetTun(int, const char *);
8236285Sbrianextern void log_Close(void);
8336285Sbrian#ifdef __GNUC__
8436285Sbrianextern void log_Printf(int, const char *,...)
8536285Sbrian            __attribute__ ((format (printf, 2, 3)));
8638200Sbrianextern void log_WritePrompts(struct datalink *, const char *, ...)
8738200Sbrian            __attribute__ ((format (printf, 2, 3)));
8836285Sbrian#else
8936285Sbrianextern void log_Printf(int, const char *,...);
9038200Sbrianextern void log_WritePrompts(struct datalink *, const char *, ...);
9136285Sbrian#endif
9236285Sbrianextern void log_DumpBp(int, const char *, const struct mbuf *);
9336285Sbrianextern void log_DumpBuff(int, const char *, const u_char *, int);
9436285Sbrianextern int log_ShowLevel(struct cmdargs const *);
9536285Sbrianextern int log_SetLevel(struct cmdargs const *);
9636285Sbrianextern int log_ShowWho(struct cmdargs const *);
9736314Sbrian
9851005Sbrianextern struct prompt *log_PromptContext;
9938013Sbrianextern int log_PromptListChanged;
10036314Sbrianextern void log_RegisterPrompt(struct prompt *);
10136314Sbrianextern void log_UnRegisterPrompt(struct prompt *);
10236314Sbrianextern void log_DestroyPrompts(struct server *);
10336314Sbrianextern void log_DisplayPrompts(void);
10436314Sbrianextern void log_ActivatePrompt(struct prompt *);
10536314Sbrianextern void log_DeactivatePrompt(struct prompt *);
10636314Sbrianextern void log_SetTtyCommandMode(struct datalink *);
10736314Sbrianextern struct prompt *log_PromptList(void);
108