xref: /freebsd/usr.sbin/ppp/defs.h (revision a8d604ab7453c18c004a807fa7003aee1aadf2f7)
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 
35dd7e2610SBrian Somers #define _PATH_PPP	"/etc/ppp"
36dd7e2610SBrian Somers 
371384bd27SBrian Somers #define TUN_NAME	"tun"
381384bd27SBrian Somers #define TUN_PREFIX	(_PATH_DEV TUN_NAME)	/* /dev/tun */
39565e35e5SBrian Somers 
40af57ed9fSAtsushi Murai #define MODEM_SPEED	B38400	/* tty speed */
41af57ed9fSAtsushi Murai #define	SERVER_PORT	3000	/* Base server port no. */
4275240ed1SBrian Somers #define	MODEM_CTSRTS	1	/* Default (true): use CTS/RTS signals */
43abff9baeSBrian Somers #define	RECONNECT_TIMEOUT 3	/* Default timer for carrier loss */
44e718d1d7SBrian Somers #define	DIAL_TIMEOUT	30	/* Default and Max random time to redial */
45e718d1d7SBrian Somers #define	DIAL_NEXT_TIMEOUT 3	/* Default Hold time to next number redial */
46e6923505SBrian Somers #define SCRIPT_LEN 512		/* Size of login/dial/hangup scripts */
47e6923505SBrian Somers #define LINE_LEN SCRIPT_LEN 	/* Size of lines */
48e6923505SBrian Somers #define DEVICE_LEN SCRIPT_LEN	/* Size of individual devices */
4958330d7bSBrian Somers #define AUTHLEN 100 		/* Size of authname/authkey */
50972a1bcfSBrian Somers #define CHAPDIGESTLEN 100	/* Maximum chap digest */
51972a1bcfSBrian Somers #define CHAPCHALLENGELEN 48	/* Maximum chap challenge */
52a8d604abSBrian Somers #define CHAPAUTHRESPONSELEN 48	/* Maximum chap authresponse (chap81) */
53b6e82f33SBrian Somers #define MAXARGS 40		/* How many args per config line */
54ab886ad0SBrian Somers #define NCP_IDLE_TIMEOUT 180	/* Drop all links */
556f8e9f0aSBrian Somers #define CHOKED_TIMEOUT 120	/* Delete queued packets w/ blocked tun */
561ae349f5Scvs2svn 
5714593dfdSBrian Somers #define MIN_LQRPERIOD 2		/* Minimum LQR frequency */
5814593dfdSBrian Somers #define DEF_LQRPERIOD 30	/* Default LQR frequency */
593a2e4f62SBrian Somers #define MIN_FSMRETRY 3		/* Minimum FSM retry frequency */
60cd9647a1SBrian Somers #define DEF_FSMRETRY 3		/* FSM retry frequency */
61479508cfSBrian Somers #define DEF_FSMTRIES 5		/* Default max retries */
62479508cfSBrian Somers #define DEF_FSMAUTHTRIES 3	/* Default max auth retries */
636c1d6731SBrian Somers #define DEF_IFQUEUE 30		/* Default interface queue size */
64af57ed9fSAtsushi Murai 
65af57ed9fSAtsushi Murai #define	CONFFILE 	"ppp.conf"
6694b3022eSBrian Somers #define	LINKUPFILE 	"ppp.linkup"
6794b3022eSBrian Somers #define	LINKDOWNFILE 	"ppp.linkdown"
68af57ed9fSAtsushi Murai #define	SECRETFILE	"ppp.secret"
69af57ed9fSAtsushi Murai 
70368aee2bSBrian Somers #define	EX_SIG		-1
71af57ed9fSAtsushi Murai #define	EX_NORMAL	0
72af57ed9fSAtsushi Murai #define	EX_START	1
73af57ed9fSAtsushi Murai #define	EX_SOCK		2
74af57ed9fSAtsushi Murai #define	EX_MODEM	3
75af57ed9fSAtsushi Murai #define	EX_DIAL		4
76af57ed9fSAtsushi Murai #define	EX_DEAD		5
77af57ed9fSAtsushi Murai #define	EX_DONE		6
78af57ed9fSAtsushi Murai #define	EX_REBOOT	7
79af57ed9fSAtsushi Murai #define	EX_ERRDEAD	8
80b42135deSBrian Somers #define	EX_HANGUP	9
81b42135deSBrian Somers #define	EX_TERM		10
82b42135deSBrian Somers #define EX_NODIAL	11
83b42135deSBrian Somers #define EX_NOLOGIN	12
84b42135deSBrian Somers /* return values for -background mode, not really exits */
85b42135deSBrian Somers #define EX_REDIAL	13
86b42135deSBrian Somers #define EX_RECONNECT	14
87af57ed9fSAtsushi Murai 
88565e35e5SBrian Somers /* physical::type values (OR'd in bundle::phys_type) */
89dd0645c5SBrian Somers #define PHYS_NONE		0
9081358fa3SBrian Somers #define PHYS_INTERACTIVE	1  /* Manual link */
9181358fa3SBrian Somers #define PHYS_AUTO		2  /* Dial-on-demand link */
9281358fa3SBrian Somers #define	PHYS_DIRECT		4  /* Incoming link, deleted when closed */
9381358fa3SBrian Somers #define	PHYS_DEDICATED		8  /* Dedicated link */
9481358fa3SBrian Somers #define	PHYS_DDIAL		16 /* Dial immediately, stay connected */
9581358fa3SBrian Somers #define PHYS_BACKGROUND		32 /* Dial immediately, deleted when closed */
96f6a4e748SBrian Somers #define PHYS_FOREGROUND		64 /* Pseudo mode, same as background */
97f6a4e748SBrian Somers #define PHYS_ALL		127
9853c9f6c0SAtsushi Murai 
995b78bdf8SBrian Somers /* flags passed to findblank() and MakeArgs() */
1005b78bdf8SBrian Somers #define PARSE_NORMAL	0
1015b78bdf8SBrian Somers #define PARSE_REDUCE	1
1025b78bdf8SBrian Somers #define PARSE_NOHASH	2
1035b78bdf8SBrian Somers 
1046b457978SBrian Somers #define ROUNDUP(x) ((x) ? (1 + (((x) - 1) | (sizeof(long) - 1))) : sizeof(long))
1056b457978SBrian Somers 
1068507c35eSBrian Somers #if defined(__NetBSD__) || __FreeBSD__ < 3
10775240ed1SBrian Somers extern void randinit(void);
1088507c35eSBrian Somers #else
1098507c35eSBrian Somers #define random arc4random
1108507c35eSBrian Somers #define randinit()
1118507c35eSBrian Somers #endif
1128507c35eSBrian Somers 
1136f384573SBrian Somers extern ssize_t fullread(int, void *, size_t);
114dd0645c5SBrian Somers extern const char *mode2Nam(int);
115dd0645c5SBrian Somers extern int Nam2mode(const char *);
11626baedc5SBrian Somers extern struct in_addr GetIpAddr(const char *);
1175d9e6103SBrian Somers extern int SpeedToInt(speed_t);
1185d9e6103SBrian Somers extern speed_t IntToSpeed(int);
1191bbd8362SBrian Somers extern char *findblank(char *, int);
120abab7303SBrian Somers extern int MakeArgs(char *, char **, int, int);
121d6d3eeabSBrian Somers extern const char *NumStr(long, char *, size_t);
122d6d3eeabSBrian Somers extern const char *HexStr(long, char *, size_t);
123b42135deSBrian Somers extern const char *ex_desc(int);
124ebe96675SBrian Somers extern void SetTitle(const char *);
1258a52f3ecSBrian Somers extern fd_set *mkfdset(void);
1268a52f3ecSBrian Somers extern void zerofdset(fd_set *);
127