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.
arch/lpc_types.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 | * $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 ------------------------------ */ |