LwIP with PPP & Ethernet integration
This is the mbed port of the LwIP stack: http://savannah.nongnu.org/projects/lwip/
It includes contributed content from NXP's port for LPCxxxx devices: http://www.lpcware.com/content/project/lightweight-ip-lwip-networking-stack
Licence
LwIP is licenced under the BSD licence:
Copyright (c) 2001-2004 Swedish Institute of Computer Science. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
src/netif/ppp/ipcp.h@2:1a87f74b8e3b, 2012-05-25 (annotated)
- Committer:
- donatien
- Date:
- Fri May 25 08:56:35 2012 +0000
- Revision:
- 2:1a87f74b8e3b
- Parent:
- 0:8e01dca41002
Removed compilation of EMAC driver when using PPP
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
donatien | 0:8e01dca41002 | 1 | /***************************************************************************** |
donatien | 0:8e01dca41002 | 2 | * ipcp.h - PPP IP NCP: Internet Protocol Network Control Protocol header file. |
donatien | 0:8e01dca41002 | 3 | * |
donatien | 0:8e01dca41002 | 4 | * Copyright (c) 2003 by Marc Boucher, Services Informatiques (MBSI) inc. |
donatien | 0:8e01dca41002 | 5 | * portions Copyright (c) 1997 Global Election Systems Inc. |
donatien | 0:8e01dca41002 | 6 | * |
donatien | 0:8e01dca41002 | 7 | * The authors hereby grant permission to use, copy, modify, distribute, |
donatien | 0:8e01dca41002 | 8 | * and license this software and its documentation for any purpose, provided |
donatien | 0:8e01dca41002 | 9 | * that existing copyright notices are retained in all copies and that this |
donatien | 0:8e01dca41002 | 10 | * notice and the following disclaimer are included verbatim in any |
donatien | 0:8e01dca41002 | 11 | * distributions. No written agreement, license, or royalty fee is required |
donatien | 0:8e01dca41002 | 12 | * for any of the authorized uses. |
donatien | 0:8e01dca41002 | 13 | * |
donatien | 0:8e01dca41002 | 14 | * THIS SOFTWARE IS PROVIDED BY THE CONTRIBUTORS *AS IS* AND ANY EXPRESS OR |
donatien | 0:8e01dca41002 | 15 | * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES |
donatien | 0:8e01dca41002 | 16 | * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
donatien | 0:8e01dca41002 | 17 | * IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, |
donatien | 0:8e01dca41002 | 18 | * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT |
donatien | 0:8e01dca41002 | 19 | * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, |
donatien | 0:8e01dca41002 | 20 | * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY |
donatien | 0:8e01dca41002 | 21 | * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT |
donatien | 0:8e01dca41002 | 22 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF |
donatien | 0:8e01dca41002 | 23 | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
donatien | 0:8e01dca41002 | 24 | * |
donatien | 0:8e01dca41002 | 25 | ****************************************************************************** |
donatien | 0:8e01dca41002 | 26 | * REVISION HISTORY |
donatien | 0:8e01dca41002 | 27 | * |
donatien | 0:8e01dca41002 | 28 | * 03-01-01 Marc Boucher <marc@mbsi.ca> |
donatien | 0:8e01dca41002 | 29 | * Ported to lwIP. |
donatien | 0:8e01dca41002 | 30 | * 97-12-04 Guy Lancaster <glanca@gesn.com>, Global Election Systems Inc. |
donatien | 0:8e01dca41002 | 31 | * Original derived from BSD codes. |
donatien | 0:8e01dca41002 | 32 | *****************************************************************************/ |
donatien | 0:8e01dca41002 | 33 | /* |
donatien | 0:8e01dca41002 | 34 | * ipcp.h - IP Control Protocol definitions. |
donatien | 0:8e01dca41002 | 35 | * |
donatien | 0:8e01dca41002 | 36 | * Copyright (c) 1989 Carnegie Mellon University. |
donatien | 0:8e01dca41002 | 37 | * All rights reserved. |
donatien | 0:8e01dca41002 | 38 | * |
donatien | 0:8e01dca41002 | 39 | * Redistribution and use in source and binary forms are permitted |
donatien | 0:8e01dca41002 | 40 | * provided that the above copyright notice and this paragraph are |
donatien | 0:8e01dca41002 | 41 | * duplicated in all such forms and that any documentation, |
donatien | 0:8e01dca41002 | 42 | * advertising materials, and other materials related to such |
donatien | 0:8e01dca41002 | 43 | * distribution and use acknowledge that the software was developed |
donatien | 0:8e01dca41002 | 44 | * by Carnegie Mellon University. The name of the |
donatien | 0:8e01dca41002 | 45 | * University may not be used to endorse or promote products derived |
donatien | 0:8e01dca41002 | 46 | * from this software without specific prior written permission. |
donatien | 0:8e01dca41002 | 47 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR |
donatien | 0:8e01dca41002 | 48 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED |
donatien | 0:8e01dca41002 | 49 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. |
donatien | 0:8e01dca41002 | 50 | * |
donatien | 0:8e01dca41002 | 51 | * $Id: ipcp.h,v 1.4 2010/01/18 20:49:43 goldsimon Exp $ |
donatien | 0:8e01dca41002 | 52 | */ |
donatien | 0:8e01dca41002 | 53 | |
donatien | 0:8e01dca41002 | 54 | #ifndef IPCP_H |
donatien | 0:8e01dca41002 | 55 | #define IPCP_H |
donatien | 0:8e01dca41002 | 56 | |
donatien | 0:8e01dca41002 | 57 | /* |
donatien | 0:8e01dca41002 | 58 | * Options. |
donatien | 0:8e01dca41002 | 59 | */ |
donatien | 0:8e01dca41002 | 60 | #define CI_ADDRS 1 /* IP Addresses */ |
donatien | 0:8e01dca41002 | 61 | #define CI_COMPRESSTYPE 2 /* Compression Type */ |
donatien | 0:8e01dca41002 | 62 | #define CI_ADDR 3 |
donatien | 0:8e01dca41002 | 63 | |
donatien | 0:8e01dca41002 | 64 | #define CI_MS_DNS1 129 /* Primary DNS value */ |
donatien | 0:8e01dca41002 | 65 | #define CI_MS_WINS1 128 /* Primary WINS value */ |
donatien | 0:8e01dca41002 | 66 | #define CI_MS_DNS2 131 /* Secondary DNS value */ |
donatien | 0:8e01dca41002 | 67 | #define CI_MS_WINS2 130 /* Secondary WINS value */ |
donatien | 0:8e01dca41002 | 68 | |
donatien | 0:8e01dca41002 | 69 | #define IPCP_VJMODE_OLD 1 /* "old" mode (option # = 0x0037) */ |
donatien | 0:8e01dca41002 | 70 | #define IPCP_VJMODE_RFC1172 2 /* "old-rfc"mode (option # = 0x002d) */ |
donatien | 0:8e01dca41002 | 71 | #define IPCP_VJMODE_RFC1332 3 /* "new-rfc"mode (option # = 0x002d, */ |
donatien | 0:8e01dca41002 | 72 | /* maxslot and slot number compression) */ |
donatien | 0:8e01dca41002 | 73 | |
donatien | 0:8e01dca41002 | 74 | #define IPCP_VJ_COMP 0x002d /* current value for VJ compression option */ |
donatien | 0:8e01dca41002 | 75 | #define IPCP_VJ_COMP_OLD 0x0037 /* "old" (i.e, broken) value for VJ */ |
donatien | 0:8e01dca41002 | 76 | /* compression option */ |
donatien | 0:8e01dca41002 | 77 | |
donatien | 0:8e01dca41002 | 78 | typedef struct ipcp_options { |
donatien | 0:8e01dca41002 | 79 | u_int neg_addr : 1; /* Negotiate IP Address? */ |
donatien | 0:8e01dca41002 | 80 | u_int old_addrs : 1; /* Use old (IP-Addresses) option? */ |
donatien | 0:8e01dca41002 | 81 | u_int req_addr : 1; /* Ask peer to send IP address? */ |
donatien | 0:8e01dca41002 | 82 | u_int default_route : 1; /* Assign default route through interface? */ |
donatien | 0:8e01dca41002 | 83 | u_int proxy_arp : 1; /* Make proxy ARP entry for peer? */ |
donatien | 0:8e01dca41002 | 84 | u_int neg_vj : 1; /* Van Jacobson Compression? */ |
donatien | 0:8e01dca41002 | 85 | u_int old_vj : 1; /* use old (short) form of VJ option? */ |
donatien | 0:8e01dca41002 | 86 | u_int accept_local : 1; /* accept peer's value for ouraddr */ |
donatien | 0:8e01dca41002 | 87 | u_int accept_remote : 1; /* accept peer's value for hisaddr */ |
donatien | 0:8e01dca41002 | 88 | u_int req_dns1 : 1; /* Ask peer to send primary DNS address? */ |
donatien | 0:8e01dca41002 | 89 | u_int req_dns2 : 1; /* Ask peer to send secondary DNS address? */ |
donatien | 0:8e01dca41002 | 90 | u_short vj_protocol; /* protocol value to use in VJ option */ |
donatien | 0:8e01dca41002 | 91 | u_char maxslotindex; /* VJ slots - 1. */ |
donatien | 0:8e01dca41002 | 92 | u_char cflag; /* VJ slot compression flag. */ |
donatien | 0:8e01dca41002 | 93 | u32_t ouraddr, hisaddr; /* Addresses in NETWORK BYTE ORDER */ |
donatien | 0:8e01dca41002 | 94 | u32_t dnsaddr[2]; /* Primary and secondary MS DNS entries */ |
donatien | 0:8e01dca41002 | 95 | u32_t winsaddr[2]; /* Primary and secondary MS WINS entries */ |
donatien | 0:8e01dca41002 | 96 | } ipcp_options; |
donatien | 0:8e01dca41002 | 97 | |
donatien | 0:8e01dca41002 | 98 | extern fsm ipcp_fsm[]; |
donatien | 0:8e01dca41002 | 99 | extern ipcp_options ipcp_wantoptions[]; |
donatien | 0:8e01dca41002 | 100 | extern ipcp_options ipcp_gotoptions[]; |
donatien | 0:8e01dca41002 | 101 | extern ipcp_options ipcp_allowoptions[]; |
donatien | 0:8e01dca41002 | 102 | extern ipcp_options ipcp_hisoptions[]; |
donatien | 0:8e01dca41002 | 103 | |
donatien | 0:8e01dca41002 | 104 | extern struct protent ipcp_protent; |
donatien | 0:8e01dca41002 | 105 | |
donatien | 0:8e01dca41002 | 106 | #endif /* IPCP_H */ |