LwIP with PPP & Ethernet integration

Dependents:   NetworkingCoreLib

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.
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?

UserRevisionLine numberNew contents of line
donatien 0:8e01dca41002 1 /**********************************************************************
donatien 0:8e01dca41002 2 * $Id$ lpc_types.h 2008-07-27
donatien 0:8e01dca41002 3 *//**
donatien 0:8e01dca41002 4 * @file lpc_types.h
donatien 0:8e01dca41002 5 * @brief Contains the NXP ABL typedefs for C standard types.
donatien 0:8e01dca41002 6 * It is intended to be used in ISO C conforming development
donatien 0:8e01dca41002 7 * environments and checks for this insofar as it is possible
donatien 0:8e01dca41002 8 * to do so.
donatien 0:8e01dca41002 9 * @version 2.0
donatien 0:8e01dca41002 10 * @date 27 Jul. 2008
donatien 0:8e01dca41002 11 * @author NXP MCU SW Application Team
donatien 0:8e01dca41002 12 *
donatien 0:8e01dca41002 13 * Copyright(C) 2008, NXP Semiconductor
donatien 0:8e01dca41002 14 * All rights reserved.
donatien 0:8e01dca41002 15 *
donatien 0:8e01dca41002 16 ***********************************************************************
donatien 0:8e01dca41002 17 * Software that is described herein is for illustrative purposes only
donatien 0:8e01dca41002 18 * which provides customers with programming information regarding the
donatien 0:8e01dca41002 19 * products. This software is supplied "AS IS" without any warranties.
donatien 0:8e01dca41002 20 * NXP Semiconductors assumes no responsibility or liability for the
donatien 0:8e01dca41002 21 * use of the software, conveys no license or title under any patent,
donatien 0:8e01dca41002 22 * copyright, or mask work right to the product. NXP Semiconductors
donatien 0:8e01dca41002 23 * reserves the right to make changes in the software without
donatien 0:8e01dca41002 24 * notification. NXP Semiconductors also make no representation or
donatien 0:8e01dca41002 25 * warranty that such application will be suitable for the specified
donatien 0:8e01dca41002 26 * use without further testing or modification.
donatien 0:8e01dca41002 27 **********************************************************************/
donatien 0:8e01dca41002 28
donatien 0:8e01dca41002 29 /* Type group ----------------------------------------------------------- */
donatien 0:8e01dca41002 30 /** @defgroup LPC_Types LPC_Types
donatien 0:8e01dca41002 31 * @ingroup LPC1700CMSIS_FwLib_Drivers
donatien 0:8e01dca41002 32 * @{
donatien 0:8e01dca41002 33 */
donatien 0:8e01dca41002 34
donatien 0:8e01dca41002 35 #ifndef LPC_TYPES_H
donatien 0:8e01dca41002 36 #define LPC_TYPES_H
donatien 0:8e01dca41002 37
donatien 0:8e01dca41002 38 /* Includes ------------------------------------------------------------------- */
donatien 0:8e01dca41002 39 #include <stdint.h>
donatien 0:8e01dca41002 40
donatien 0:8e01dca41002 41
donatien 0:8e01dca41002 42 /* Public Types --------------------------------------------------------------- */
donatien 0:8e01dca41002 43 /** @defgroup LPC_Types_Public_Types LPC_Types Public Types
donatien 0:8e01dca41002 44 * @{
donatien 0:8e01dca41002 45 */
donatien 0:8e01dca41002 46
donatien 0:8e01dca41002 47 /**
donatien 0:8e01dca41002 48 * @brief Boolean Type definition
donatien 0:8e01dca41002 49 */
donatien 0:8e01dca41002 50 typedef enum {FALSE = 0, TRUE = !FALSE} Bool;
donatien 0:8e01dca41002 51
donatien 0:8e01dca41002 52 /**
donatien 0:8e01dca41002 53 * @brief Flag Status and Interrupt Flag Status type definition
donatien 0:8e01dca41002 54 */
donatien 0:8e01dca41002 55 typedef enum {RESET = 0, SET = !RESET} FlagStatus, IntStatus, SetState;
donatien 0:8e01dca41002 56 #define PARAM_SETSTATE(State) ((State==RESET) || (State==SET))
donatien 0:8e01dca41002 57
donatien 0:8e01dca41002 58 /**
donatien 0:8e01dca41002 59 * @brief Functional State Definition
donatien 0:8e01dca41002 60 */
donatien 0:8e01dca41002 61 typedef enum {DISABLE = 0, ENABLE = !DISABLE} FunctionalState;
donatien 0:8e01dca41002 62 #define PARAM_FUNCTIONALSTATE(State) ((State==DISABLE) || (State==ENABLE))
donatien 0:8e01dca41002 63
donatien 0:8e01dca41002 64 /**
donatien 0:8e01dca41002 65 * @ Status type definition
donatien 0:8e01dca41002 66 */
donatien 0:8e01dca41002 67 typedef enum {ERROR = 0, SUCCESS = !ERROR} Status;
donatien 0:8e01dca41002 68
donatien 0:8e01dca41002 69
donatien 0:8e01dca41002 70 /**
donatien 0:8e01dca41002 71 * Read/Write transfer type mode (Block or non-block)
donatien 0:8e01dca41002 72 */
donatien 0:8e01dca41002 73 typedef enum
donatien 0:8e01dca41002 74 {
donatien 0:8e01dca41002 75 NONE_BLOCKING = 0, /**< None Blocking type */
donatien 0:8e01dca41002 76 BLOCKING /**< Blocking type */
donatien 0:8e01dca41002 77 } TRANSFER_BLOCK_Type;
donatien 0:8e01dca41002 78
donatien 0:8e01dca41002 79
donatien 0:8e01dca41002 80 /** Pointer to Function returning Void (any number of parameters) */
donatien 0:8e01dca41002 81 typedef void (*PFV)();
donatien 0:8e01dca41002 82
donatien 0:8e01dca41002 83 /** Pointer to Function returning int32_t (any number of parameters) */
donatien 0:8e01dca41002 84 typedef int32_t(*PFI)();
donatien 0:8e01dca41002 85
donatien 0:8e01dca41002 86 /**
donatien 0:8e01dca41002 87 * @}
donatien 0:8e01dca41002 88 */
donatien 0:8e01dca41002 89
donatien 0:8e01dca41002 90
donatien 0:8e01dca41002 91 /* Public Macros -------------------------------------------------------------- */
donatien 0:8e01dca41002 92 /** @defgroup LPC_Types_Public_Macros LPC_Types Public Macros
donatien 0:8e01dca41002 93 * @{
donatien 0:8e01dca41002 94 */
donatien 0:8e01dca41002 95
donatien 0:8e01dca41002 96 /* _BIT(n) sets the bit at position "n"
donatien 0:8e01dca41002 97 * _BIT(n) is intended to be used in "OR" and "AND" expressions:
donatien 0:8e01dca41002 98 * e.g., "(_BIT(3) | _BIT(7))".
donatien 0:8e01dca41002 99 */
donatien 0:8e01dca41002 100 #undef _BIT
donatien 0:8e01dca41002 101 /* Set bit macro */
donatien 0:8e01dca41002 102 #define _BIT(n) (1<<n)
donatien 0:8e01dca41002 103
donatien 0:8e01dca41002 104 /* _SBF(f,v) sets the bit field starting at position "f" to value "v".
donatien 0:8e01dca41002 105 * _SBF(f,v) is intended to be used in "OR" and "AND" expressions:
donatien 0:8e01dca41002 106 * e.g., "((_SBF(5,7) | _SBF(12,0xF)) & 0xFFFF)"
donatien 0:8e01dca41002 107 */
donatien 0:8e01dca41002 108 #undef _SBF
donatien 0:8e01dca41002 109 /* Set bit field macro */
donatien 0:8e01dca41002 110 #define _SBF(f,v) (v<<f)
donatien 0:8e01dca41002 111
donatien 0:8e01dca41002 112 /* _BITMASK constructs a symbol with 'field_width' least significant
donatien 0:8e01dca41002 113 * bits set.
donatien 0:8e01dca41002 114 * e.g., _BITMASK(5) constructs '0x1F', _BITMASK(16) == 0xFFFF
donatien 0:8e01dca41002 115 * The symbol is intended to be used to limit the bit field width
donatien 0:8e01dca41002 116 * thusly:
donatien 0:8e01dca41002 117 * <a_register> = (any_expression) & _BITMASK(x), where 0 < x <= 32.
donatien 0:8e01dca41002 118 * If "any_expression" results in a value that is larger than can be
donatien 0:8e01dca41002 119 * contained in 'x' bits, the bits above 'x - 1' are masked off. When
donatien 0:8e01dca41002 120 * used with the _SBF example above, the example would be written:
donatien 0:8e01dca41002 121 * a_reg = ((_SBF(5,7) | _SBF(12,0xF)) & _BITMASK(16))
donatien 0:8e01dca41002 122 * This ensures that the value written to a_reg is no wider than
donatien 0:8e01dca41002 123 * 16 bits, and makes the code easier to read and understand.
donatien 0:8e01dca41002 124 */
donatien 0:8e01dca41002 125 #undef _BITMASK
donatien 0:8e01dca41002 126 /* Bitmask creation macro */
donatien 0:8e01dca41002 127 #define _BITMASK(field_width) ( _BIT(field_width) - 1)
donatien 0:8e01dca41002 128
donatien 0:8e01dca41002 129 /* NULL pointer */
donatien 0:8e01dca41002 130 #ifndef NULL
donatien 0:8e01dca41002 131 #define NULL ((void*) 0)
donatien 0:8e01dca41002 132 #endif
donatien 0:8e01dca41002 133
donatien 0:8e01dca41002 134 /* Number of elements in an array */
donatien 0:8e01dca41002 135 #define NELEMENTS(array) (sizeof (array) / sizeof (array[0]))
donatien 0:8e01dca41002 136
donatien 0:8e01dca41002 137 /* Static data/function define */
donatien 0:8e01dca41002 138 #define STATIC static
donatien 0:8e01dca41002 139 /* External data/function define */
donatien 0:8e01dca41002 140 #define EXTERN extern
donatien 0:8e01dca41002 141
donatien 0:8e01dca41002 142 #define MAX(a, b) (((a) > (b)) ? (a) : (b))
donatien 0:8e01dca41002 143 #define MIN(a, b) (((a) < (b)) ? (a) : (b))
donatien 0:8e01dca41002 144
donatien 0:8e01dca41002 145 /**
donatien 0:8e01dca41002 146 * @}
donatien 0:8e01dca41002 147 */
donatien 0:8e01dca41002 148
donatien 0:8e01dca41002 149
donatien 0:8e01dca41002 150 /* Old Type Definition compatibility ------------------------------------------ */
donatien 0:8e01dca41002 151 /** @addtogroup LPC_Types_Public_Types LPC_Types Public Types
donatien 0:8e01dca41002 152 * @{
donatien 0:8e01dca41002 153 */
donatien 0:8e01dca41002 154
donatien 0:8e01dca41002 155 /** SMA type for character type */
donatien 0:8e01dca41002 156 typedef char CHAR;
donatien 0:8e01dca41002 157
donatien 0:8e01dca41002 158 /** SMA type for 8 bit unsigned value */
donatien 0:8e01dca41002 159 typedef uint8_t UNS_8;
donatien 0:8e01dca41002 160
donatien 0:8e01dca41002 161 /** SMA type for 8 bit signed value */
donatien 0:8e01dca41002 162 typedef int8_t INT_8;
donatien 0:8e01dca41002 163
donatien 0:8e01dca41002 164 /** SMA type for 16 bit unsigned value */
donatien 0:8e01dca41002 165 typedef uint16_t UNS_16;
donatien 0:8e01dca41002 166
donatien 0:8e01dca41002 167 /** SMA type for 16 bit signed value */
donatien 0:8e01dca41002 168 typedef int16_t INT_16;
donatien 0:8e01dca41002 169
donatien 0:8e01dca41002 170 /** SMA type for 32 bit unsigned value */
donatien 0:8e01dca41002 171 typedef uint32_t UNS_32;
donatien 0:8e01dca41002 172
donatien 0:8e01dca41002 173 /** SMA type for 32 bit signed value */
donatien 0:8e01dca41002 174 typedef int32_t INT_32;
donatien 0:8e01dca41002 175
donatien 0:8e01dca41002 176 /** SMA type for 64 bit signed value */
donatien 0:8e01dca41002 177 typedef int64_t INT_64;
donatien 0:8e01dca41002 178
donatien 0:8e01dca41002 179 /** SMA type for 64 bit unsigned value */
donatien 0:8e01dca41002 180 typedef uint64_t UNS_64;
donatien 0:8e01dca41002 181
donatien 0:8e01dca41002 182 /** 32 bit boolean type */
donatien 0:8e01dca41002 183 typedef Bool BOOL_32;
donatien 0:8e01dca41002 184
donatien 0:8e01dca41002 185 /** 16 bit boolean type */
donatien 0:8e01dca41002 186 typedef Bool BOOL_16;
donatien 0:8e01dca41002 187
donatien 0:8e01dca41002 188 /** 8 bit boolean type */
donatien 0:8e01dca41002 189 typedef Bool BOOL_8;
donatien 0:8e01dca41002 190
donatien 0:8e01dca41002 191 /**
donatien 0:8e01dca41002 192 * @}
donatien 0:8e01dca41002 193 */
donatien 0:8e01dca41002 194
donatien 0:8e01dca41002 195
donatien 0:8e01dca41002 196 #endif /* LPC_TYPES_H */
donatien 0:8e01dca41002 197
donatien 0:8e01dca41002 198 /**
donatien 0:8e01dca41002 199 * @}
donatien 0:8e01dca41002 200 */
donatien 0:8e01dca41002 201
donatien 0:8e01dca41002 202 /* --------------------------------- End Of File ------------------------------ */