defs.h revision 58032
16059Samurai/*
26059Samurai *	    Written by Toshiharu OHNO (tony-o@iij.ad.jp)
36059Samurai *
46059Samurai *   Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd.
56059Samurai *
66059Samurai * Redistribution and use in source and binary forms are permitted
76059Samurai * provided that the above copyright notice and this paragraph are
86059Samurai * duplicated in all such forms and that any documentation,
96059Samurai * advertising materials, and other materials related to such
106059Samurai * distribution and use acknowledge that the software was developed
116059Samurai * by the Internet Initiative Japan.  The name of the
126059Samurai * IIJ may not be used to endorse or promote products derived
136059Samurai * from this software without specific prior written permission.
146059Samurai * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
156059Samurai * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
166059Samurai * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
176059Samurai *
1850479Speter * $FreeBSD: head/usr.sbin/ppp/defs.h 58032 2000-03-14 01:46:44Z brian $
196059Samurai *
206059Samurai *	TODO:
216059Samurai */
226059Samurai
2336285Sbrian/* Check the following definitions for your machine environment */
246735Samurai#ifdef __FreeBSD__
2546102Sbrian# define  MODEM_LIST	"/dev/cuaa1\0/dev/cuaa0"	/* name of tty device */
266735Samurai#else
2730715Sbrian# ifdef __OpenBSD__
2846102Sbrian#  define MODEM_LIST	"/dev/cua01\0/dev/cua00"	/* name of tty device */
2930715Sbrian# else
3046102Sbrian#  define MODEM_LIST	"/dev/tty01\0/dev/tty00"	/* name of tty device */
3130715Sbrian# endif
326735Samurai#endif
3346102Sbrian#define NMODEMS		2
3430715Sbrian
3536285Sbrian#define _PATH_PPP	"/etc/ppp"
3636285Sbrian
3736452Sbrian#define TUN_NAME	"tun"
3836452Sbrian#define TUN_PREFIX	(_PATH_DEV TUN_NAME)	/* /dev/tun */
3936285Sbrian
4028679Sbrian#define MODEM_SPEED	B38400	/* tty speed */
4128679Sbrian#define	SERVER_PORT	3000	/* Base server port no. */
4230715Sbrian#define	MODEM_CTSRTS	1	/* Default (true): use CTS/RTS signals */
4336285Sbrian#define	RECONNECT_TIMEOUT 3	/* Default timer for carrier loss */
4436285Sbrian#define	DIAL_TIMEOUT	30	/* Default and Max random time to redial */
4536285Sbrian#define	DIAL_NEXT_TIMEOUT 3	/* Default Hold time to next number redial */
4647682Sbrian#define SCRIPT_LEN 512		/* Size of login/dial/hangup scripts */
4747682Sbrian#define LINE_LEN SCRIPT_LEN 	/* Size of lines */
4847682Sbrian#define DEVICE_LEN SCRIPT_LEN	/* Size of individual devices */
4943888Sbrian#define AUTHLEN 100 		/* Size of authname/authkey */
5043313Sbrian#define CHAPDIGESTLEN 100	/* Maximum chap digest */
5143313Sbrian#define CHAPCHALLENGELEN 48	/* Maximum chap challenge */
5231343Sbrian#define MAXARGS 40		/* How many args per config line */
5338544Sbrian#define NCP_IDLE_TIMEOUT 180	/* Drop all links */
5438544Sbrian#define CHOKED_TIMEOUT 120	/* Delete queued packets w/ blocked tun */
556059Samurai
5637549Sbrian#define MIN_LQRPERIOD 2		/* Minimum LQR frequency */
5737549Sbrian#define DEF_LQRPERIOD 30	/* Default LQR frequency */
5837210Sbrian#define MIN_FSMRETRY 3		/* Minimum FSM retry frequency */
5936285Sbrian#define DEF_FSMRETRY 3		/* FSM retry frequency */
6044305Sbrian#define DEF_FSMTRIES 5		/* Default max retries */
6153733Sbrian#define DEF_FSMAUTHTRIES 3	/* Default max auth retries */
6236285Sbrian
636059Samurai#define	CONFFILE 	"ppp.conf"
6426589Sbrian#define	LINKUPFILE 	"ppp.linkup"
6526589Sbrian#define	LINKDOWNFILE 	"ppp.linkdown"
666059Samurai#define	SECRETFILE	"ppp.secret"
676059Samurai
6826858Sbrian#define	EX_SIG		-1
696059Samurai#define	EX_NORMAL	0
706059Samurai#define	EX_START	1
716059Samurai#define	EX_SOCK		2
726059Samurai#define	EX_MODEM	3
736059Samurai#define	EX_DIAL		4
746059Samurai#define	EX_DEAD		5
756059Samurai#define	EX_DONE		6
766059Samurai#define	EX_REBOOT	7
776059Samurai#define	EX_ERRDEAD	8
786059Samurai#define	EX_HANGUP	10
796059Samurai#define	EX_TERM		11
8020813Sjkh#define EX_NODIAL	12
8120813Sjkh#define EX_NOLOGIN	13
826059Samurai
8336285Sbrian/* physical::type values (OR'd in bundle::phys_type) */
8436465Sbrian#define PHYS_NONE		0
8536465Sbrian#define PHYS_INTERACTIVE	1  /* Manual link */
8636465Sbrian#define PHYS_AUTO		2  /* Dial-on-demand link */
8736465Sbrian#define	PHYS_DIRECT		4  /* Incoming link, deleted when closed */
8836465Sbrian#define	PHYS_DEDICATED		8  /* Dedicated link */
8936465Sbrian#define	PHYS_DDIAL		16 /* Dial immediately, stay connected */
9036465Sbrian#define PHYS_BACKGROUND		32 /* Dial immediately, deleted when closed */
9153830Sbrian#define PHYS_FOREGROUND		64 /* Pseudo mode, same as background */
9253830Sbrian#define PHYS_ALL		127
936059Samurai
9455145Sbrian/* flags passed to findblank() and MakeArgs() */
9555145Sbrian#define PARSE_NORMAL	0
9655145Sbrian#define PARSE_REDUCE	1
9755145Sbrian#define PARSE_NOHASH	2
9855145Sbrian
9958032Sbrian#define ROUNDUP(x) ((x) ? (1 + (((x) - 1) | (sizeof(long) - 1))) : sizeof(long))
10058032Sbrian
10130715Sbrianextern void randinit(void);
10236285Sbrianextern ssize_t fullread(int, void *, size_t);
10336285Sbrianextern const char *mode2Nam(int);
10436285Sbrianextern int Nam2mode(const char *);
10544279Sbrianextern struct in_addr GetIpAddr(const char *);
10646686Sbrianextern int SpeedToInt(speed_t);
10746686Sbrianextern speed_t IntToSpeed(int);
10855065Sbrianextern char *findblank(char *, int);
10955013Sbrianextern int MakeArgs(char *, char **, int, int);
110