OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [ecos-3.0/] [packages/] [net/] [ppp/] [current/] [include/] [net/] [if_ppp.h] - Blame information for rev 856

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 786 skrzyp
//==========================================================================
2
//
3
//      include/net/if_ppp.h
4
//
5
//==========================================================================
6
// ####ECOSGPLCOPYRIGHTBEGIN####                                            
7
// -------------------------------------------                              
8
// This file is part of eCos, the Embedded Configurable Operating System.   
9
// Copyright (C) 2003 Free Software Foundation, Inc.                        
10
//
11
// eCos is free software; you can redistribute it and/or modify it under    
12
// the terms of the GNU General Public License as published by the Free     
13
// Software Foundation; either version 2 or (at your option) any later      
14
// version.                                                                 
15
//
16
// eCos is distributed in the hope that it will be useful, but WITHOUT      
17
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or    
18
// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License    
19
// for more details.                                                        
20
//
21
// You should have received a copy of the GNU General Public License        
22
// along with eCos; if not, write to the Free Software Foundation, Inc.,    
23
// 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.            
24
//
25
// As a special exception, if other files instantiate templates or use      
26
// macros or inline functions from this file, or you compile this file      
27
// and link it with other works to produce a work based on this file,       
28
// this file does not by itself cause the resulting work to be covered by   
29
// the GNU General Public License. However the source code for this file    
30
// must still be made available in accordance with section (3) of the GNU   
31
// General Public License v2.                                               
32
//
33
// This exception does not invalidate any other reasons why a work based    
34
// on this file might be covered by the GNU General Public License.         
35
// -------------------------------------------                              
36
// ####ECOSGPLCOPYRIGHTEND####                                              
37
// ####BSDALTCOPYRIGHTBEGIN####                                             
38
// -------------------------------------------                              
39
// Portions of this software may have been derived from FreeBSD, OpenBSD,   
40
// or other sources, and if so are covered by the appropriate copyright     
41
// and license included herein.                                             
42
// -------------------------------------------                              
43
// ####BSDALTCOPYRIGHTEND####                                               
44
//==========================================================================
45
 
46
/*
47
 * if_ppp.h - Point-to-Point Protocol definitions.
48
 *
49
 * Copyright (c) 1989 Carnegie Mellon University.
50
 * All rights reserved.
51
 *
52
 * Redistribution and use in source and binary forms are permitted
53
 * provided that the above copyright notice and this paragraph are
54
 * duplicated in all such forms and that any documentation,
55
 * advertising materials, and other materials related to such
56
 * distribution and use acknowledge that the software was developed
57
 * by Carnegie Mellon University.  The name of the
58
 * University may not be used to endorse or promote products derived
59
 * from this software without specific prior written permission.
60
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
61
 * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
62
 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
63
 *
64
 * $FreeBSD: src/sys/net/if_ppp.h,v 1.14 1999/08/28 00:48:20 peter Exp $
65
 */
66
 
67
#ifndef _IF_PPP_H_
68
#define _IF_PPP_H_
69
 
70
#include <cyg/ppp/names.h>
71
 
72
#include <sys/ioccom.h>
73
 
74
/* XXX this used to be self-contained. */
75
#include <cyg/ppp/net/ppp_defs.h>
76
#include <net/if.h>
77
 
78
/*
79
 * Packet sizes
80
 */
81
#define PPP_MTU         1500    /* Default MTU (size of Info field) */
82
#define PPP_MAXMRU      65000   /* Largest MRU we allow */
83
#define PPP_MAXMTU      16384   /* Largest MTU we allow */
84
 
85
/*
86
 * Bit definitions for flags.
87
 */
88
#define SC_COMP_PROT    0x00000001      /* protocol compression (output) */
89
#define SC_COMP_AC      0x00000002      /* header compression (output) */
90
#define SC_COMP_TCP     0x00000004      /* TCP (VJ) compression (output) */
91
#define SC_NO_TCP_CCID  0x00000008      /* disable VJ connection-id comp. */
92
#define SC_REJ_COMP_AC  0x00000010      /* reject adrs/ctrl comp. on input */
93
#define SC_REJ_COMP_TCP 0x00000020      /* reject TCP (VJ) comp. on input */
94
#define SC_CCP_OPEN     0x00000040      /* Look at CCP packets */
95
#define SC_CCP_UP       0x00000080      /* May send/recv compressed packets */
96
#define SC_DEBUG        0x00010000      /* enable debug messages */
97
#define SC_LOG_INPKT    0x00020000      /* log contents of good pkts recvd */
98
#define SC_LOG_OUTPKT   0x00040000      /* log contents of pkts sent */
99
#define SC_LOG_RAWIN    0x00080000      /* log all chars received */
100
#define SC_LOG_FLUSH    0x00100000      /* log all chars flushed */
101
#define SC_RCV_B7_0     0x01000000      /* have rcvd char with bit 7 = 0 */
102
#define SC_RCV_B7_1     0x02000000      /* have rcvd char with bit 7 = 1 */
103
#define SC_RCV_EVNP     0x04000000      /* have rcvd char with even parity */
104
#define SC_RCV_ODDP     0x08000000      /* have rcvd char with odd parity */
105
#define SC_MASK         0x0fff00ff      /* bits that user can change */
106
 
107
/*
108
 * State bits in sc_flags, not changeable by user.
109
 */
110
#define SC_TIMEOUT      0x00000400      /* timeout is currently pending */
111
#define SC_VJ_RESET     0x00000800      /* need to reset VJ decomp */
112
#define SC_COMP_RUN     0x00001000      /* compressor has been initiated */
113
#define SC_DECOMP_RUN   0x00002000      /* decompressor has been initiated */
114
#define SC_DC_ERROR     0x00004000      /* non-fatal decomp error detected */
115
#define SC_DC_FERROR    0x00008000      /* fatal decomp error detected */
116
#define SC_TBUSY        0x10000000      /* xmitter doesn't need a packet yet */
117
#define SC_PKTLOST      0x20000000      /* have lost or dropped a packet */
118
#define SC_FLUSH        0x40000000      /* flush input until next PPP_FLAG */
119
#define SC_ESCAPED      0x80000000      /* saw a PPP_ESCAPE */
120
 
121
/*
122
 * Ioctl definitions.
123
 */
124
 
125
struct npioctl {
126
    int         protocol;       /* PPP procotol, e.g. PPP_IP */
127
    enum NPmode mode;
128
};
129
 
130
/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
131
struct ppp_option_data {
132
        u_char  *ptr;
133
        u_int   length;
134
        int     transmit;
135
};
136
 
137
struct ifpppstatsreq {
138
    char ifr_name[IFNAMSIZ];
139
    struct ppp_stats stats;
140
};
141
 
142
struct ifpppcstatsreq {
143
    char ifr_name[IFNAMSIZ];
144
    struct ppp_comp_stats stats;
145
};
146
 
147
/*
148
 * Ioctl definitions.
149
 */
150
 
151
#define PPPIOCGFLAGS    _IOR('t', 90, int)      /* get configuration flags */
152
#define PPPIOCSFLAGS    _IOW('t', 89, int)      /* set configuration flags */
153
#define PPPIOCGASYNCMAP _IOR('t', 88, int)      /* get async map */
154
#define PPPIOCSASYNCMAP _IOW('t', 87, int)      /* set async map */
155
#define PPPIOCGUNIT     _IOR('t', 86, int)      /* get ppp unit number */
156
#define PPPIOCGRASYNCMAP _IOR('t', 85, int)     /* get receive async map */
157
#define PPPIOCSRASYNCMAP _IOW('t', 84, int)     /* set receive async map */
158
#define PPPIOCGMRU      _IOR('t', 83, int)      /* get max receive unit */
159
#define PPPIOCSMRU      _IOW('t', 82, int)      /* set max receive unit */
160
#define PPPIOCSMAXCID   _IOW('t', 81, int)      /* set VJ max slot ID */
161
#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
162
#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
163
#define PPPIOCXFERUNIT  _IO('t', 78)            /* transfer PPP unit */
164
#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
165
#define PPPIOCGNPMODE   _IOWR('t', 76, struct npioctl) /* get NP mode */
166
#define PPPIOCSNPMODE   _IOW('t', 75, struct npioctl)  /* set NP mode */
167
#define PPPIOCGIDLE     _IOR('t', 74, struct ppp_idle) /* get idle time */
168
#define PPPIOCSPASS     _IOW('t', 71, struct bpf_program) /* set pass filter */
169
#define PPPIOCSACTIVE   _IOW('t', 70, struct bpf_program) /* set active filt */
170
 
171
/* PPPIOC[GS]MTU are alternatives to SIOC[GS]IFMTU, used under Ultrix */
172
#define PPPIOCGMTU      _IOR('t', 73, int)      /* get interface MTU */
173
#define PPPIOCSMTU      _IOW('t', 72, int)      /* set interface MTU */
174
 
175
/*
176
 * These two are interface ioctls so that pppstats can do them on
177
 * a socket without having to open the serial device.
178
 */
179
#define SIOCGPPPSTATS   _IOWR('i', 123, struct ifpppstatsreq)
180
#define SIOCGPPPCSTATS  _IOWR('i', 122, struct ifpppcstatsreq)
181
 
182
#if !defined(ifr_mtu)
183
#define ifr_mtu ifr_ifru.ifru_metric
184
#endif
185
 
186
#endif /* _IF_PPP_H_ */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.