ipcp.h revision 6059
1206274Srdivacky/*
2206274Srdivacky *	    Written by Toshiharu OHNO (tony-o@iij.ad.jp)
3206274Srdivacky *
4206274Srdivacky *   Copyright (C) 1993, Internet Initiative Japan, Inc. All rights reserverd.
5206274Srdivacky *
6206274Srdivacky * Redistribution and use in source and binary forms are permitted
7206274Srdivacky * provided that the above copyright notice and this paragraph are
8206274Srdivacky * duplicated in all such forms and that any documentation,
9206274Srdivacky * advertising materials, and other materials related to such
10206274Srdivacky * distribution and use acknowledge that the software was developed
11206274Srdivacky * by the Internet Initiative Japan.  The name of the
12206274Srdivacky * IIJ may not be used to endorse or promote products derived
13206274Srdivacky * from this software without specific prior written permission.
14206274Srdivacky * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
15206274Srdivacky * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
16249423Sdim * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
17249423Sdim *
18206274Srdivacky * $Id:$
19206274Srdivacky *
20206274Srdivacky *	TODO:
21206274Srdivacky */
22249423Sdim
23249423Sdim#ifndef _IPCP_H_
24249423Sdim#define _IPCP_H_
25218893Sdim
26206274Srdivacky#define	IPCP_MAXCODE	CODE_CODEREJ
27206274Srdivacky
28206274Srdivacky#define	TY_IPADDRS	1
29206274Srdivacky#define	TY_COMPPROTO	2
30206274Srdivacky#define	TY_IPADDR	3
31206274Srdivacky
32206274Srdivackystruct ipcpstate {
33206274Srdivacky  struct  in_addr his_ipaddr;	/* IP address he is willing to use */
34206274Srdivacky  u_long  his_compproto;
35206274Srdivacky
36263508Sdim  struct  in_addr want_ipaddr;	/* IP address I'm willing to use */
37206274Srdivacky  u_long  want_compproto;
38206274Srdivacky
39206274Srdivacky  u_long  his_reject;		/* Request codes rejected by peer */
40234353Sdim  u_long  my_reject;		/* Request codes I have rejected */
41206274Srdivacky  int	  heis1172;		/* True if he is speaking rfc1172 */
42206274Srdivacky};
43206274Srdivacky
44263508Sdimstruct compreq {
45206274Srdivacky  u_short proto;
46206274Srdivacky  u_char  slots;
47206274Srdivacky  u_char  compcid;
48218893Sdim};
49249423Sdim
50206274Srdivackystruct in_range {
51206274Srdivacky  struct in_addr ipaddr;
52206274Srdivacky  struct in_addr mask;
53206274Srdivacky  int    width;
54206274Srdivacky};
55206274Srdivacky
56249423Sdimextern struct ipcpstate IpcpInfo;
57206274Srdivackyextern struct in_range DefMyAddress;
58206274Srdivackyextern struct in_range DefHisAddress;
59206274Srdivacky
60206274Srdivackyextern void IpcpInit(void);
61249423Sdimextern void IpcpDefAddress();
62206274Srdivacky#endif
63206274Srdivacky