Annotation of embedaddon/mpd/src/ecp.h, revision 1.1.1.1
1.1 misho 1:
2: /*
3: * ecp.h
4: *
5: * Written by Archie Cobbs <archie@freebsd.org>
6: * Copyright (c) 1998-1999 Whistle Communications, Inc. All rights reserved.
7: * See ``COPYRIGHT.whistle''
8: */
9:
10: #ifndef _ECP_H_
11: #define _ECP_H_
12:
13: #include "defs.h"
14: #include "fsm.h"
15: #include "mbuf.h"
16: #include "encrypt.h"
17: #include "command.h"
18:
19: #ifdef ECP_DES
20: #include "ecp_dese.h"
21: #include "ecp_dese_bis.h"
22: #endif
23:
24: /*
25: * DEFINITIONS
26: */
27:
28: #define ECP_DIR_XMIT 1
29: #define ECP_DIR_RECV 2
30:
31: /* Encryption types */
32:
33: #define ECP_TY_OUI 0
34: #define ECP_TY_DESE 1
35: #define ECP_TY_3DESE 2
36: #define ECP_TY_DESE_bis 3
37:
38: /* Max supported key length */
39:
40: #define ECP_MAX_KEY 32
41:
42: /* ECP state */
43:
44: struct ecpstate
45: {
46: char key[ECP_MAX_KEY]; /* Encryption key */
47: EncType xmit; /* Xmit encryption type */
48: EncType recv; /* Recv encryption type */
49: uint32_t self_reject;
50: uint32_t peer_reject;
51: struct fsm fsm; /* PPP FSM */
52: struct optinfo options; /* Configured options */
53: #ifdef ECP_DES
54: struct desinfo des; /* DESE info */
55: struct desebisinfo desebis; /* DESE-bis info */
56: #endif
57: uint32_t xmit_resets; /* Number of ResetReq we have got from other side */
58: uint32_t recv_resets; /* Number of ResetReq we have sent to other side */
59: };
60: typedef struct ecpstate *EcpState;
61:
62: /*
63: * VARIABLES
64: */
65:
66: extern const struct cmdtab EcpSetCmds[];
67:
68: extern int gEcpCsock; /* Socket node control socket */
69: extern int gEcpDsock; /* Socket node data socket */
70:
71: /*
72: * FUNCTIONS
73: */
74:
75: extern void EcpInit(Bund b);
76: extern void EcpInst(Bund b, Bund bt);
77: extern void EcpUp(Bund b);
78: extern void EcpDown(Bund b);
79: extern void EcpOpen(Bund b);
80: extern void EcpClose(Bund b);
81: extern int EcpOpenCmd(Context ctx);
82: extern int EcpCloseCmd(Context ctx);
83: extern int EcpSubtractBloat(Bund b, int size);
84: extern void EcpInput(Bund b, Mbuf bp);
85: extern Mbuf EcpDataInput(Bund b, Mbuf bp);
86: extern Mbuf EcpDataOutput(Bund b, Mbuf bp);
87: extern void EcpSendResetReq(Fsm fp);
88: extern int EcpStat(Context ctx, int ac, char *av[], void *arg);
89:
90: extern int EcpsInit(void);
91: extern void EcpsShutdown(void);
92:
93: #endif
94:
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>