xref: /freebsd/usr.sbin/ppp/defs.h (revision 7a66a36d2ac83b7a7f3bc5000d64d55dfb761c97)
1af57ed9fSAtsushi Murai /*
2af57ed9fSAtsushi Murai  *	    Written by Toshiharu OHNO (tony-o@iij.ad.jp)
3af57ed9fSAtsushi Murai  *
4af57ed9fSAtsushi Murai  *   Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd.
5af57ed9fSAtsushi Murai  *
6af57ed9fSAtsushi Murai  * Redistribution and use in source and binary forms are permitted
7af57ed9fSAtsushi Murai  * provided that the above copyright notice and this paragraph are
8af57ed9fSAtsushi Murai  * duplicated in all such forms and that any documentation,
9af57ed9fSAtsushi Murai  * advertising materials, and other materials related to such
10af57ed9fSAtsushi Murai  * distribution and use acknowledge that the software was developed
11af57ed9fSAtsushi Murai  * by the Internet Initiative Japan.  The name of the
12af57ed9fSAtsushi Murai  * IIJ may not be used to endorse or promote products derived
13af57ed9fSAtsushi Murai  * from this software without specific prior written permission.
14af57ed9fSAtsushi Murai  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
15af57ed9fSAtsushi Murai  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
16af57ed9fSAtsushi Murai  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17af57ed9fSAtsushi Murai  *
1897d92980SPeter Wemm  * $FreeBSD$
19af57ed9fSAtsushi Murai  *
20af57ed9fSAtsushi Murai  *	TODO:
21af57ed9fSAtsushi Murai  */
22af57ed9fSAtsushi Murai 
233bf710a4SBrian Somers /* Check the following definitions for your machine environment */
2453c9f6c0SAtsushi Murai #ifdef __FreeBSD__
25a8d7acdcSBrian Somers # define  MODEM_LIST	"/dev/cuaa1\0/dev/cuaa0"	/* name of tty device */
2653c9f6c0SAtsushi Murai #else
2710a91a42SBrian Somers # ifdef __OpenBSD__
28a8d7acdcSBrian Somers #  define MODEM_LIST	"/dev/cua01\0/dev/cua00"	/* name of tty device */
2910a91a42SBrian Somers # else
30a8d7acdcSBrian Somers #  define MODEM_LIST	"/dev/tty01\0/dev/tty00"	/* name of tty device */
3153c9f6c0SAtsushi Murai # endif
3210a91a42SBrian Somers #endif
33a8d7acdcSBrian Somers #define NMODEMS		2
3475240ed1SBrian Somers 
357a66a36dSBrian Somers #ifndef PPP_CONFDIR
367a66a36dSBrian Somers #define PPP_CONFDIR	"/etc/ppp"
377a66a36dSBrian Somers #endif
38dd7e2610SBrian Somers 
391384bd27SBrian Somers #define TUN_NAME	"tun"
401384bd27SBrian Somers #define TUN_PREFIX	(_PATH_DEV TUN_NAME)	/* /dev/tun */
41565e35e5SBrian Somers 
42af57ed9fSAtsushi Murai #define MODEM_SPEED	B38400	/* tty speed */
43af57ed9fSAtsushi Murai #define	SERVER_PORT	3000	/* Base server port no. */
4475240ed1SBrian Somers #define	MODEM_CTSRTS	1	/* Default (true): use CTS/RTS signals */
45abff9baeSBrian Somers #define	RECONNECT_TIMEOUT 3	/* Default timer for carrier loss */
46e718d1d7SBrian Somers #define	DIAL_TIMEOUT	30	/* Default and Max random time to redial */
47e718d1d7SBrian Somers #define	DIAL_NEXT_TIMEOUT 3	/* Default Hold time to next number redial */
48e6923505SBrian Somers #define SCRIPT_LEN 512		/* Size of login/dial/hangup scripts */
49e6923505SBrian Somers #define LINE_LEN SCRIPT_LEN 	/* Size of lines */
50e6923505SBrian Somers #define DEVICE_LEN SCRIPT_LEN	/* Size of individual devices */
5158330d7bSBrian Somers #define AUTHLEN 100 		/* Size of authname/authkey */
52972a1bcfSBrian Somers #define CHAPDIGESTLEN 100	/* Maximum chap digest */
53972a1bcfSBrian Somers #define CHAPCHALLENGELEN 48	/* Maximum chap challenge */
54a8d604abSBrian Somers #define CHAPAUTHRESPONSELEN 48	/* Maximum chap authresponse (chap81) */
55b6e82f33SBrian Somers #define MAXARGS 40		/* How many args per config line */
56ab886ad0SBrian Somers #define NCP_IDLE_TIMEOUT 180	/* Drop all links */
576f8e9f0aSBrian Somers #define CHOKED_TIMEOUT 120	/* Delete queued packets w/ blocked tun */
581ae349f5Scvs2svn 
59e3771825SRoger Hardiman #define MIN_LQRPERIOD 1		/* Minimum LQR frequency */
6014593dfdSBrian Somers #define DEF_LQRPERIOD 30	/* Default LQR frequency */
61e3771825SRoger Hardiman #define MIN_FSMRETRY 1		/* Minimum FSM retry frequency */
62cd9647a1SBrian Somers #define DEF_FSMRETRY 3		/* FSM retry frequency */
63479508cfSBrian Somers #define DEF_FSMTRIES 5		/* Default max retries */
64479508cfSBrian Somers #define DEF_FSMAUTHTRIES 3	/* Default max auth retries */
656c1d6731SBrian Somers #define DEF_IFQUEUE 30		/* Default interface queue size */
66af57ed9fSAtsushi Murai 
67af57ed9fSAtsushi Murai #define	CONFFILE 	"ppp.conf"
6894b3022eSBrian Somers #define	LINKUPFILE 	"ppp.linkup"
6994b3022eSBrian Somers #define	LINKDOWNFILE 	"ppp.linkdown"
70af57ed9fSAtsushi Murai #define	SECRETFILE	"ppp.secret"
71af57ed9fSAtsushi Murai 
72368aee2bSBrian Somers #define	EX_SIG		-1
73af57ed9fSAtsushi Murai #define	EX_NORMAL	0
74af57ed9fSAtsushi Murai #define	EX_START	1
75af57ed9fSAtsushi Murai #define	EX_SOCK		2
76af57ed9fSAtsushi Murai #define	EX_MODEM	3
77af57ed9fSAtsushi Murai #define	EX_DIAL		4
78af57ed9fSAtsushi Murai #define	EX_DEAD		5
79af57ed9fSAtsushi Murai #define	EX_DONE		6
80af57ed9fSAtsushi Murai #define	EX_REBOOT	7
81af57ed9fSAtsushi Murai #define	EX_ERRDEAD	8
82b42135deSBrian Somers #define	EX_HANGUP	9
83b42135deSBrian Somers #define	EX_TERM		10
84b42135deSBrian Somers #define EX_NODIAL	11
85b42135deSBrian Somers #define EX_NOLOGIN	12
86b42135deSBrian Somers /* return values for -background mode, not really exits */
87b42135deSBrian Somers #define EX_REDIAL	13
88b42135deSBrian Somers #define EX_RECONNECT	14
89af57ed9fSAtsushi Murai 
90565e35e5SBrian Somers /* physical::type values (OR'd in bundle::phys_type) */
91dd0645c5SBrian Somers #define PHYS_NONE		0
9281358fa3SBrian Somers #define PHYS_INTERACTIVE	1  /* Manual link */
9381358fa3SBrian Somers #define PHYS_AUTO		2  /* Dial-on-demand link */
9481358fa3SBrian Somers #define	PHYS_DIRECT		4  /* Incoming link, deleted when closed */
9581358fa3SBrian Somers #define	PHYS_DEDICATED		8  /* Dedicated link */
9681358fa3SBrian Somers #define	PHYS_DDIAL		16 /* Dial immediately, stay connected */
9781358fa3SBrian Somers #define PHYS_BACKGROUND		32 /* Dial immediately, deleted when closed */
98f6a4e748SBrian Somers #define PHYS_FOREGROUND		64 /* Pseudo mode, same as background */
99f6a4e748SBrian Somers #define PHYS_ALL		127
10053c9f6c0SAtsushi Murai 
1015b78bdf8SBrian Somers /* flags passed to findblank() and MakeArgs() */
1025b78bdf8SBrian Somers #define PARSE_NORMAL	0
1035b78bdf8SBrian Somers #define PARSE_REDUCE	1
1045b78bdf8SBrian Somers #define PARSE_NOHASH	2
1055b78bdf8SBrian Somers 
1066b457978SBrian Somers #define ROUNDUP(x) ((x) ? (1 + (((x) - 1) | (sizeof(long) - 1))) : sizeof(long))
1076b457978SBrian Somers 
1088507c35eSBrian Somers #if defined(__NetBSD__) || __FreeBSD__ < 3
10975240ed1SBrian Somers extern void randinit(void);
1108507c35eSBrian Somers #else
1118507c35eSBrian Somers #define random arc4random
1128507c35eSBrian Somers #define randinit()
1138507c35eSBrian Somers #endif
1148507c35eSBrian Somers 
1156f384573SBrian Somers extern ssize_t fullread(int, void *, size_t);
116dd0645c5SBrian Somers extern const char *mode2Nam(int);
117dd0645c5SBrian Somers extern int Nam2mode(const char *);
11826baedc5SBrian Somers extern struct in_addr GetIpAddr(const char *);
1195d9e6103SBrian Somers extern int SpeedToInt(speed_t);
1205d9e6103SBrian Somers extern speed_t IntToSpeed(int);
1211bbd8362SBrian Somers extern char *findblank(char *, int);
122abab7303SBrian Somers extern int MakeArgs(char *, char **, int, int);
123d6d3eeabSBrian Somers extern const char *NumStr(long, char *, size_t);
124d6d3eeabSBrian Somers extern const char *HexStr(long, char *, size_t);
125b42135deSBrian Somers extern const char *ex_desc(int);
126ebe96675SBrian Somers extern void SetTitle(const char *);
1278a52f3ecSBrian Somers extern fd_set *mkfdset(void);
1288a52f3ecSBrian Somers extern void zerofdset(fd_set *);
129