FreeBSD kernel netgraph code
ng_mppc.h
Go to the documentation of this file.
1
/*
2
* ng_mppc.h
3
*/
4
5
/*-
6
* Copyright (c) 1996-2000 Whistle Communications, Inc.
7
* All rights reserved.
8
*
9
* Subject to the following obligations and disclaimer of warranty, use and
10
* redistribution of this software, in source or object code forms, with or
11
* without modifications are expressly permitted by Whistle Communications;
12
* provided, however, that:
13
* 1. Any and all reproductions of the source or object code must include the
14
* copyright notice above and the following disclaimer of warranties; and
15
* 2. No rights are granted, in any manner or form, to use Whistle
16
* Communications, Inc. trademarks, including the mark "WHISTLE
17
* COMMUNICATIONS" on advertising, endorsements, or otherwise except as
18
* such appears in the above copyright notice or in the software.
19
*
20
* THIS SOFTWARE IS BEING PROVIDED BY WHISTLE COMMUNICATIONS "AS IS", AND
21
* TO THE MAXIMUM EXTENT PERMITTED BY LAW, WHISTLE COMMUNICATIONS MAKES NO
22
* REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, REGARDING THIS SOFTWARE,
23
* INCLUDING WITHOUT LIMITATION, ANY AND ALL IMPLIED WARRANTIES OF
24
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR NON-INFRINGEMENT.
25
* WHISTLE COMMUNICATIONS DOES NOT WARRANT, GUARANTEE, OR MAKE ANY
26
* REPRESENTATIONS REGARDING THE USE OF, OR THE RESULTS OF THE USE OF THIS
27
* SOFTWARE IN TERMS OF ITS CORRECTNESS, ACCURACY, RELIABILITY OR OTHERWISE.
28
* IN NO EVENT SHALL WHISTLE COMMUNICATIONS BE LIABLE FOR ANY DAMAGES
29
* RESULTING FROM OR ARISING OUT OF ANY USE OF THIS SOFTWARE, INCLUDING
30
* WITHOUT LIMITATION, ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
31
* PUNITIVE, OR CONSEQUENTIAL DAMAGES, PROCUREMENT OF SUBSTITUTE GOODS OR
32
* SERVICES, LOSS OF USE, DATA OR PROFITS, HOWEVER CAUSED AND UNDER ANY
33
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
34
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
35
* THIS SOFTWARE, EVEN IF WHISTLE COMMUNICATIONS IS ADVISED OF THE POSSIBILITY
36
* OF SUCH DAMAGE.
37
*
38
* Author: Archie Cobbs <archie@freebsd.org>
39
*
40
* $Whistle: ng_mppc.h,v 1.3 2000/02/12 01:17:22 archie Exp $
41
* $FreeBSD$
42
*/
43
44
#ifndef _NETGRAPH_NG_MPPC_H_
45
#define _NETGRAPH_NG_MPPC_H_
46
47
/* Node type name and magic cookie */
48
#define NG_MPPC_NODE_TYPE "mppc"
49
#define NGM_MPPC_COOKIE 942886745
50
51
/* Hook names */
52
#define NG_MPPC_HOOK_COMP "comp"
/* compression hook */
53
#define NG_MPPC_HOOK_DECOMP "decomp"
/* decompression hook */
54
55
/* Length of MPPE key */
56
#define MPPE_KEY_LEN 16
57
58
/* Max expansion due to MPPC header and compression algorithm */
59
#define MPPC_MAX_BLOWUP(n) ((n) * 9 / 8 + 26)
60
61
/* MPPC/MPPE PPP negotiation bits */
62
#define MPPC_BIT 0x00000001
/* mppc compression bits */
63
#define MPPE_40 0x00000020
/* use 40 bit key */
64
#define MPPE_56 0x00000080
/* use 56 bit key */
65
#define MPPE_128 0x00000040
/* use 128 bit key */
66
#define MPPE_BITS 0x000000e0
/* mppe encryption bits */
67
#define MPPE_STATELESS 0x01000000
/* use stateless mode */
68
#define MPPC_VALID_BITS 0x010000e1
/* possibly valid bits */
69
70
/* Config struct (per-direction) */
71
struct
ng_mppc_config
{
72
u_char
enable
;
/* enable */
73
u_int32_t
bits
;
/* config bits */
74
u_char
startkey
[
MPPE_KEY_LEN
];
/* start key */
75
};
76
77
/* Netgraph commands */
78
enum
{
79
NGM_MPPC_CONFIG_COMP
= 1,
80
NGM_MPPC_CONFIG_DECOMP
,
81
NGM_MPPC_RESETREQ
,
/* sent either way! */
82
};
83
84
#endif
/* _NETGRAPH_NG_MPPC_H_ */
MPPE_KEY_LEN
#define MPPE_KEY_LEN
Definition:
ng_mppc.h:56
NGM_MPPC_CONFIG_COMP
@ NGM_MPPC_CONFIG_COMP
Definition:
ng_mppc.h:79
NGM_MPPC_RESETREQ
@ NGM_MPPC_RESETREQ
Definition:
ng_mppc.h:81
NGM_MPPC_CONFIG_DECOMP
@ NGM_MPPC_CONFIG_DECOMP
Definition:
ng_mppc.h:80
ng_mppc_config
Definition:
ng_mppc.h:71
ng_mppc_config::startkey
u_char startkey[MPPE_KEY_LEN]
Definition:
ng_mppc.h:74
ng_mppc_config::bits
u_int32_t bits
Definition:
ng_mppc.h:73
ng_mppc_config::enable
u_char enable
Definition:
ng_mppc.h:72
netgraph
ng_mppc.h
Generated by
1.9.3