00001 // //////////////////////////////////////////////////////////////////////////// 00002 // //////////////////////////////////////////////////////////////////////////// 00017 /********************************************************************* 00018 * Software License Agreement 00019 * 00020 * Copyright (C) 2002-2008 Microchip Technology Inc. All rights 00021 * reserved. 00022 * 00023 * Microchip licenses to you the right to use, modify, copy, and 00024 * distribute: 00025 * (i) the Software when embedded on a Microchip microcontroller or 00026 * digital signal controller product ("Device") which is 00027 * integrated into Licensee's product; or 00028 * (ii) ONLY the Software driver source files ENC28J60.c and 00029 * ENC28J60.h ported to a non-Microchip device used in 00030 * conjunction with a Microchip ethernet controller for the 00031 * sole purpose of interfacing with the ethernet controller. 00032 * 00033 * You should refer to the license agreement accompanying this 00034 * Software for additional information regarding your rights and 00035 * obligations. 00036 * 00037 * THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT 00038 * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT 00039 * LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A 00040 * PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL 00041 * MICROCHIP BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR 00042 * CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF 00043 * PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS 00044 * BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE 00045 * THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER 00046 * SIMILAR COSTS, WHETHER ASSERTED ON THE BASIS OF CONTRACT, TORT 00047 * (INCLUDING NEGLIGENCE), BREACH OF WARRANTY, OR OTHERWISE. 00048 * 00049 * 00050 * Author Date Comment 00051 *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00052 * Howard Schlunder 12/20/06 Original 00053 ********************************************************************/ 00054 #ifndef __TCPIP_H 00055 #define __TCPIP_H 00056 00057 #define VERSION "v4.50" // TCP/IP stack version 00058 00059 #include <string.h> 00060 #include <stdlib.h> 00061 #include "GenericTypeDefs.h" 00062 #include "Compiler.h" 00063 00064 /******************************************************************* 00065 * Memory Configuration 00066 * The following section sets up the memory types for use by 00067 * this application. 00068 *******************************************************************/ 00069 // Represents data stored in Ethernet buffer RAM 00070 #define TCP_ETH_RAM 0 00071 // The base address for TCP data in Ethernet RAM 00072 #define TCP_ETH_RAM_BASE_ADDRESS (BASE_TCB_ADDR) 00073 // Represents data stored in local PIC RAM 00074 #define TCP_PIC_RAM 1 00075 // The base address for TCP data in PIC RAM 00076 #define TCP_PIC_RAM_BASE_ADDRESS ((PTR_BASE)&TCPBufferInPIC[0]) 00077 // Represents data stored in external SPI RAM 00078 #define TCP_SPI_RAM 2 00079 00080 /******************************************************************* 00081 * User Configuration 00082 * Load the user-specific configuration from TCPIPConfig.h 00083 *******************************************************************/ 00084 #include "TCPIPConfig.h" 00085 00086 /******************************************************************* 00087 * Configuration Rules Enforcement 00088 * The following section enforces requirements for modules based 00089 * on configurations selected in TCPIPConfig.h 00090 *******************************************************************/ 00091 00092 #if defined(STACK_USE_HTTP2_SERVER) 00093 #define STACK_USE_MPFS2 00094 #endif 00095 00096 // HTTP2 requires 2 MPFS2 handles per connection, plus one spare 00097 #if defined(STACK_USE_HTTP2_SERVER) 00098 #if MAX_MPFS_HANDLES < ((MAX_HTTP_CONNECTIONS * 2) + 1) 00099 #error HTTP2 requires 2 MPFS2 file handles per connection, plus one additional. 00100 #endif 00101 #endif 00102 00103 #include "StackTsk.h" 00104 #include "Helpers.h" 00105 #include "Tick.h" 00106 #include "MAC.h" 00107 #include "IP.h" 00108 #include "ARP.h" 00109 #include "UDP.h" 00110 #include "TCP.h" 00111 #include "DHCP.h" 00112 #include "ICMP.h" 00113 #include "MPFS2.h" 00114 #include "HTTP2.h" 00115 #include "../main.h" 00116 00117 #endif
1.5.5