Line No. | Rev | Author | Line |
---|---|---|---|
1 | 32 | kaklik | /********************************************************************* |
2 | * |
||
3 | * Microchip TCP/IP Stack Demo Application Configuration Header |
||
4 | * |
||
5 | ********************************************************************* |
||
6 | * FileName: TCPIPConfig.h |
||
7 | * Dependencies: Microchip TCP/IP Stack |
||
8 | * Processor: PIC18, PIC24F, PIC24H, dsPIC30F, dsPIC33F, PIC32 |
||
9 | * Compiler: Microchip C32 v1.10 or higher |
||
10 | * Microchip C30 v3.12 or higher |
||
11 | * Microchip C18 v3.34 or higher |
||
12 | * HI-TECH PICC-18 PRO 9.63PL2 or higher |
||
13 | * Company: Microchip Technology, Inc. |
||
14 | * |
||
15 | * Software License Agreement |
||
16 | * |
||
17 | * Copyright (C) 2002-2010 Microchip Technology Inc. All rights |
||
18 | * reserved. |
||
19 | * |
||
20 | * Microchip licenses to you the right to use, modify, copy, and |
||
21 | * distribute: |
||
22 | * (i) the Software when embedded on a Microchip microcontroller or |
||
23 | * digital signal controller product ("Device") which is |
||
24 | * integrated into Licensee's product; or |
||
25 | * (ii) ONLY the Software driver source files ENC28J60.c, ENC28J60.h, |
||
26 | * ENCX24J600.c and ENCX24J600.h ported to a non-Microchip device |
||
27 | * used in conjunction with a Microchip ethernet controller for |
||
28 | * the sole purpose of interfacing with the ethernet controller. |
||
29 | * |
||
30 | * You should refer to the license agreement accompanying this |
||
31 | * Software for additional information regarding your rights and |
||
32 | * obligations. |
||
33 | * |
||
34 | * THE SOFTWARE AND DOCUMENTATION ARE PROVIDED "AS IS" WITHOUT |
||
35 | * WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT |
||
36 | * LIMITATION, ANY WARRANTY OF MERCHANTABILITY, FITNESS FOR A |
||
37 | * PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT SHALL |
||
38 | * MICROCHIP BE LIABLE FOR ANY INCIDENTAL, SPECIAL, INDIRECT OR |
||
39 | * CONSEQUENTIAL DAMAGES, LOST PROFITS OR LOST DATA, COST OF |
||
40 | * PROCUREMENT OF SUBSTITUTE GOODS, TECHNOLOGY OR SERVICES, ANY CLAIMS |
||
41 | * BY THIRD PARTIES (INCLUDING BUT NOT LIMITED TO ANY DEFENSE |
||
42 | * THEREOF), ANY CLAIMS FOR INDEMNITY OR CONTRIBUTION, OR OTHER |
||
43 | * SIMILAR COSTS, WHETHER ASSERTED ON THE BASIS OF CONTRACT, TORT |
||
44 | * (INCLUDING NEGLIGENCE), BREACH OF WARRANTY, OR OTHERWISE. |
||
45 | * |
||
46 | * |
||
47 | * Author Date Comment |
||
48 | *~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
||
49 | * Howard Schlunder 10/04/2006 Original |
||
50 | * Ken Hesky 07/01/2008 Added ZG2100-specific features |
||
51 | * SG 03/25/2009 Added ZGLinkMgrII specific features |
||
52 | ********************************************************************/ |
||
53 | #ifndef __TCPIPCONFIG_H |
||
54 | #define __TCPIPCONFIG_H |
||
55 | |||
56 | #include "GenericTypeDefs.h" |
||
57 | #include "Compiler.h" |
||
58 | #define GENERATED_BY_TCPIPCONFIG "Version 1.0.3383.23374" |
||
59 | |||
60 | // ======================================================================= |
||
61 | // Application Options |
||
62 | // ======================================================================= |
||
63 | |||
64 | /* Application Level Module Selection |
||
65 | * Uncomment or comment the following lines to enable or |
||
66 | * disabled the following high-level application modules. |
||
67 | */ |
||
68 | %STACK_USE_UART%#define STACK_USE_UART // Application demo using UART for IP address display and stack configuration |
||
69 | %STACK_USE_UART2TCP_BRIDGE%#define STACK_USE_UART2TCP_BRIDGE // UART to TCP Bridge application example |
||
70 | %STACK_USE_IP_GLEANING%#define STACK_USE_IP_GLEANING |
||
71 | %STACK_USE_ICMP_SERVER%#define STACK_USE_ICMP_SERVER // Ping query and response capability |
||
72 | %STACK_USE_ICMP_CLIENT%#define STACK_USE_ICMP_CLIENT // Ping transmission capability |
||
73 | %STACK_USE_HTTP_SERVER%#define STACK_USE_HTTP_SERVER // Old HTTP server |
||
74 | %STACK_USE_HTTP2_SERVER%#define STACK_USE_HTTP2_SERVER // New HTTP server with POST, Cookies, Authentication, etc. |
||
75 | %STACK_USE_SSL_SERVER%#define STACK_USE_SSL_SERVER // SSL server socket support (Requires SW300052) |
||
76 | %STACK_USE_SSL_CLIENT%#define STACK_USE_SSL_CLIENT // SSL client socket support (Requires SW300052) |
||
77 | %STACK_USE_AUTO_IP%#define STACK_USE_AUTO_IP // Dynamic link-layer IP address automatic configuration protocol |
||
78 | %STACK_USE_DHCP_CLIENT%#define STACK_USE_DHCP_CLIENT // Dynamic Host Configuration Protocol client for obtaining IP address and other parameters |
||
79 | %STACK_USE_DHCP_SERVER%#define STACK_USE_DHCP_SERVER // Single host DHCP server |
||
80 | %STACK_USE_FTP_SERVER%#define STACK_USE_FTP_SERVER // File Transfer Protocol (old) |
||
81 | %STACK_USE_SMTP_CLIENT%#define STACK_USE_SMTP_CLIENT // Simple Mail Transfer Protocol for sending email |
||
82 | %STACK_USE_SNMP_SERVER%#define STACK_USE_SNMP_SERVER // Simple Network Management Protocol v2C Community Agent |
||
83 | %STACK_USE_TFTP_CLIENT%#define STACK_USE_TFTP_CLIENT // Trivial File Transfer Protocol client |
||
84 | %STACK_USE_GENERIC_TCP_CLIENT_EXAMPLE%#define STACK_USE_GENERIC_TCP_CLIENT_EXAMPLE // HTTP Client example in GenericTCPClient.c |
||
85 | %STACK_USE_GENERIC_TCP_SERVER_EXAMPLE%#define STACK_USE_GENERIC_TCP_SERVER_EXAMPLE // ToUpper server example in GenericTCPServer.c |
||
86 | %STACK_USE_TELNET_SERVER%#define STACK_USE_TELNET_SERVER // Telnet server |
||
87 | %STACK_USE_ANNOUNCE%#define STACK_USE_ANNOUNCE // Microchip Embedded Ethernet Device Discoverer server/client |
||
88 | %STACK_USE_DNS%#define STACK_USE_DNS // Domain Name Service Client for resolving hostname strings to IP addresses |
||
89 | %STACK_USE_DNS_SERVER%#define STACK_USE_DNS_SERVER // Domain Name Service Server for redirection to the local device |
||
90 | %STACK_USE_NBNS%#define STACK_USE_NBNS // NetBIOS Name Service Server for repsonding to NBNS hostname broadcast queries |
||
91 | %STACK_USE_REBOOT_SERVER%#define STACK_USE_REBOOT_SERVER // Module for resetting this PIC remotely. Primarily useful for a Bootloader. |
||
92 | %STACK_USE_SNTP_CLIENT%#define STACK_USE_SNTP_CLIENT // Simple Network Time Protocol for obtaining current date/time from Internet |
||
93 | %STACK_USE_UDP_PERFORMANCE_TEST%#define STACK_USE_UDP_PERFORMANCE_TEST // Module for testing UDP TX performance characteristics. NOTE: Enabling this will cause a huge amount of UDP broadcast packets to flood your network on the discard port. Use care when enabling this on production networks, especially with VPNs (could tunnel broadcast traffic across a limited bandwidth connection). |
||
94 | %STACK_USE_TCP_PERFORMANCE_TEST%#define STACK_USE_TCP_PERFORMANCE_TEST // Module for testing TCP TX performance characteristics |
||
95 | %STACK_USE_DYNAMICDNS_CLIENT%#define STACK_USE_DYNAMICDNS_CLIENT // Dynamic DNS client updater module |
||
96 | %STACK_USE_BERKELEY_API%#define STACK_USE_BERKELEY_API // Berekely Sockets APIs are available |
||
97 | %STACK_USE_ZEROCONF_LINK_LOCAL%#define STACK_USE_ZEROCONF_LINK_LOCAL // Zeroconf IPv4 Link-Local Addressing |
||
98 | %STACK_USE_ZEROCONF_MDNS_SD%#define STACK_USE_ZEROCONF_MDNS_SD // Zeroconf mDNS and mDNS service discovery |
||
99 | |||
100 | |||
101 | // ======================================================================= |
||
102 | // Data Storage Options |
||
103 | // ======================================================================= |
||
104 | |||
105 | /* MPFS Configuration |
||
106 | * MPFS is automatically included when required for other |
||
107 | * applications. If your custom application requires it |
||
108 | * otherwise, uncomment the appropriate selection. |
||
109 | */ |
||
110 | //#define STACK_USE_MPFS |
||
111 | //#define STACK_USE_MPFS2 |
||
112 | |||
113 | /* MPFS Storage Location |
||
114 | * If html pages are stored in internal program memory, |
||
115 | * comment both MPFS_USE_EEPROM and MPFS_USE_SPI_FLASH, then |
||
116 | * include an MPFS image (.c or .s file) in the project. |
||
117 | * If html pages are stored in external memory, uncomment the |
||
118 | * appropriate definition. |
||
119 | * |
||
120 | * Supported serial flash parts include the SST25VFxxxB series. |
||
121 | */ |
||
122 | %MPFS_USE_EEPROM%#define MPFS_USE_EEPROM |
||
123 | %MPFS_USE_SPI_FLASH%#define MPFS_USE_SPI_FLASH |
||
124 | |||
125 | /* EEPROM Addressing Selection |
||
126 | * If using the 1Mbit EEPROM, uncomment this line |
||
127 | */ |
||
128 | //#define USE_EEPROM_25LC1024 |
||
129 | |||
130 | /* EEPROM Reserved Area |
||
131 | * Number of EEPROM bytes to be reserved before MPFS storage starts. |
||
132 | * These bytes host application configurations such as IP Address, |
||
133 | * MAC Address, and any other required variables. |
||
134 | * |
||
135 | * For MPFS Classic, this setting must match the Reserved setting |
||
136 | * on the Advanced Settings page of the MPFS2 Utility. |
||
137 | */ |
||
138 | #define MPFS_RESERVE_BLOCK (%MPFS_RESERVE_BLOCK%) |
||
139 | |||
140 | /* MPFS File Handles |
||
141 | * Maximum number of simultaneously open MPFS2 files. |
||
142 | * For MPFS Classic, this has no effect. |
||
143 | */ |
||
144 | #define MAX_MPFS_HANDLES (7ul) |
||
145 | |||
146 | |||
147 | // ======================================================================= |
||
148 | // Network Addressing Options |
||
149 | // ======================================================================= |
||
150 | |||
151 | /* Default Network Configuration |
||
152 | * These settings are only used if data is not found in EEPROM. |
||
153 | * To clear EEPROM, hold BUTTON0, reset the board, and continue |
||
154 | * holding until the LEDs flash. Release, and reset again. |
||
155 | */ |
||
156 | #define MY_DEFAULT_HOST_NAME %MY_DEFAULT_HOST_NAME% |
||
157 | |||
158 | #define MY_DEFAULT_MAC_BYTE1 (0x00) // Use the default of |
||
159 | #define MY_DEFAULT_MAC_BYTE2 (0x04) // 00-04-A3-00-00-00 if using |
||
160 | #define MY_DEFAULT_MAC_BYTE3 (0xA3) // an ENCX24J600 or MRF24WB0M |
||
161 | #define MY_DEFAULT_MAC_BYTE4 (0x00) // and wish to use the internal |
||
162 | #define MY_DEFAULT_MAC_BYTE5 (0x00) // factory programmed MAC |
||
163 | #define MY_DEFAULT_MAC_BYTE6 (0x00) // address instead. |
||
164 | |||
165 | #define MY_DEFAULT_IP_ADDR_BYTE1 (169ul) |
||
166 | #define MY_DEFAULT_IP_ADDR_BYTE2 (254ul) |
||
167 | #define MY_DEFAULT_IP_ADDR_BYTE3 (1ul) |
||
168 | #define MY_DEFAULT_IP_ADDR_BYTE4 (1ul) |
||
169 | |||
170 | #define MY_DEFAULT_MASK_BYTE1 (255ul) |
||
171 | #define MY_DEFAULT_MASK_BYTE2 (255ul) |
||
172 | #define MY_DEFAULT_MASK_BYTE3 (0ul) |
||
173 | #define MY_DEFAULT_MASK_BYTE4 (0ul) |
||
174 | |||
175 | #define MY_DEFAULT_GATE_BYTE1 (169ul) |
||
176 | #define MY_DEFAULT_GATE_BYTE2 (254ul) |
||
177 | #define MY_DEFAULT_GATE_BYTE3 (1ul) |
||
178 | #define MY_DEFAULT_GATE_BYTE4 (1ul) |
||
179 | |||
180 | #define MY_DEFAULT_PRIMARY_DNS_BYTE1 (169ul) |
||
181 | #define MY_DEFAULT_PRIMARY_DNS_BYTE2 (254ul) |
||
182 | #define MY_DEFAULT_PRIMARY_DNS_BYTE3 (1ul) |
||
183 | #define MY_DEFAULT_PRIMARY_DNS_BYTE4 (1ul) |
||
184 | |||
185 | #define MY_DEFAULT_SECONDARY_DNS_BYTE1 (0ul) |
||
186 | #define MY_DEFAULT_SECONDARY_DNS_BYTE2 (0ul) |
||
187 | #define MY_DEFAULT_SECONDARY_DNS_BYTE3 (0ul) |
||
188 | #define MY_DEFAULT_SECONDARY_DNS_BYTE4 (0ul) |
||
189 | |||
190 | // ======================================================================= |
||
191 | // PIC32MX7XX/6XX MAC Layer Options |
||
192 | // If not using a PIC32MX7XX/6XX device, ignore this section. |
||
193 | // ======================================================================= |
||
194 | #define ETH_CFG_LINK 0 // set to 1 if you need to config the link to specific following parameters |
||
195 | // otherwise the default connection will be attempted |
||
196 | // depending on the selected PHY |
||
197 | #define ETH_CFG_AUTO 1 // use auto negotiation |
||
198 | #define ETH_CFG_10 1 // use/advertise 10 Mbps capability |
||
199 | #define ETH_CFG_100 1 // use/advertise 100 Mbps capability |
||
200 | #define ETH_CFG_HDUPLEX 1 // use/advertise half duplex capability |
||
201 | #define ETH_CFG_FDUPLEX 1 // use/advertise full duplex capability |
||
202 | #define ETH_CFG_AUTO_MDIX 1 // use/advertise auto MDIX capability |
||
203 | #define ETH_CFG_SWAP_MDIX 1 // use swapped MDIX. else normal MDIX |
||
204 | |||
205 | #define EMAC_TX_DESCRIPTORS 2 // number of the TX descriptors to be created |
||
206 | #define EMAC_RX_DESCRIPTORS 8 // number of the RX descriptors and RX buffers to be created |
||
207 | |||
208 | #define EMAC_RX_BUFF_SIZE 1536 // size of a RX buffer. should be multiple of 16 |
||
209 | // this is the size of all receive buffers processed by the ETHC |
||
210 | // The size should be enough to accomodate any network received packet |
||
211 | // If the packets are larger, they will have to take multiple RX buffers |
||
212 | // The current implementation does not handle this situation right now and the packet is discarded. |
||
213 | |||
214 | |||
215 | // ======================================================================= |
||
216 | // Transport Layer Options |
||
217 | // ======================================================================= |
||
218 | |||
219 | /* Transport Layer Configuration |
||
220 | * The following low level modules are automatically enabled |
||
221 | * based on module selections above. If your custom module |
||
222 | * requires them otherwise, enable them here. |
||
223 | */ |
||
224 | %STACK_USE_TCP%#define STACK_USE_TCP |
||
225 | %STACK_USE_UDP%#define STACK_USE_UDP |
||
226 | |||
227 | /* Client Mode Configuration |
||
228 | * Uncomment following line if this stack will be used in CLIENT |
||
229 | * mode. In CLIENT mode, some functions specific to client operation |
||
230 | * are enabled. |
||
231 | */ |
||
232 | %STACK_CLIENT_MODE%#define STACK_CLIENT_MODE |
||
233 | |||
234 | /* TCP Socket Memory Allocation |
||
235 | * TCP needs memory to buffer incoming and outgoing data. The |
||
236 | * amount and medium of storage can be allocated on a per-socket |
||
237 | * basis using the example below as a guide. |
||
238 | */ |
||
239 | // Allocate how much total RAM (in bytes) you want to allocate |
||
240 | // for use by your TCP TCBs, RX FIFOs, and TX FIFOs. |
||
241 | #define TCP_ETH_RAM_SIZE (%TCP_ETH_RAM_SIZE%) |
||
242 | #define TCP_PIC_RAM_SIZE (%TCP_PIC_RAM_SIZE%) |
||
243 | #define TCP_SPI_RAM_SIZE (%TCP_SPI_RAM_SIZE%) |
||
244 | #define TCP_SPI_RAM_BASE_ADDRESS (0x00) |
||
245 | |||
246 | // Define names of socket types |
||
247 | #define TCP_SOCKET_TYPES |
||
248 | #define TCP_PURPOSE_GENERIC_TCP_CLIENT 0 |
||
249 | #define TCP_PURPOSE_GENERIC_TCP_SERVER 1 |
||
250 | #define TCP_PURPOSE_TELNET 2 |
||
251 | #define TCP_PURPOSE_FTP_COMMAND 3 |
||
252 | #define TCP_PURPOSE_FTP_DATA 4 |
||
253 | #define TCP_PURPOSE_TCP_PERFORMANCE_TX 5 |
||
254 | #define TCP_PURPOSE_TCP_PERFORMANCE_RX 6 |
||
255 | #define TCP_PURPOSE_UART_2_TCP_BRIDGE 7 |
||
256 | #define TCP_PURPOSE_HTTP_SERVER 8 |
||
257 | #define TCP_PURPOSE_DEFAULT 9 |
||
258 | #define TCP_PURPOSE_BERKELEY_SERVER 10 |
||
259 | #define TCP_PURPOSE_BERKELEY_CLIENT 11%EXTRA_TCP_SOCKET_TYPES% |
||
260 | #define END_OF_TCP_SOCKET_TYPES |
||
261 | |||
262 | #if defined(__TCP_C) |
||
263 | // Define what types of sockets are needed, how many of |
||
264 | // each to include, where their TCB, TX FIFO, and RX FIFO |
||
265 | // should be stored, and how big the RX and TX FIFOs should |
||
266 | // be. Making this initializer bigger or smaller defines |
||
267 | // how many total TCP sockets are available. |
||
268 | // |
||
269 | // Each socket requires up to 56 bytes of PIC RAM and |
||
270 | // 48+(TX FIFO size)+(RX FIFO size) bytes of TCP_*_RAM each. |
||
271 | // |
||
272 | // Note: The RX FIFO must be at least 1 byte in order to |
||
273 | // receive SYN and FIN messages required by TCP. The TX |
||
274 | // FIFO can be zero if desired. |
||
275 | #define TCP_CONFIGURATION |
||
276 | ROM struct |
||
277 | { |
||
278 | BYTE vSocketPurpose; |
||
279 | BYTE vMemoryMedium; |
||
280 | WORD wTXBufferSize; |
||
281 | WORD wRXBufferSize; |
||
282 | } TCPSocketInitializer[] = |
||
283 | { |
||
284 | %TCPSOCKET_INITIALIZER_TABLE% |
||
285 | }; |
||
286 | #define END_OF_TCP_CONFIGURATION |
||
287 | #endif |
||
288 | |||
289 | /* UDP Socket Configuration |
||
290 | * Define the maximum number of available UDP Sockets, and whether |
||
291 | * or not to include a checksum on packets being transmitted. |
||
292 | */ |
||
293 | #define MAX_UDP_SOCKETS (%MAX_UDP_SOCKETS%) |
||
294 | %UDP_USE_TX_CHECKSUM%#define UDP_USE_TX_CHECKSUM // This slows UDP TX performance by nearly 50%, except when using the ENCX24J600, which has a super fast DMA and incurs virtually no speed pentalty. |
||
295 | |||
296 | |||
297 | /* Berkeley API Sockets Configuration |
||
298 | * Note that each Berkeley socket internally uses one TCP or UDP socket |
||
299 | * defined by MAX_UDP_SOCKETS and the TCPSocketInitializer[] array. |
||
300 | * Therefore, this number MUST be less than or equal to MAX_UDP_SOCKETS + the |
||
301 | * number of TCP sockets defined by the TCPSocketInitializer[] array |
||
302 | * (i.e. sizeof(TCPSocketInitializer)/sizeof(TCPSocketInitializer[0])). |
||
303 | * This define has no effect if STACK_USE_BERKELEY_API is not defined and |
||
304 | * Berkeley Sockets are disabled. Set this value as low as your application |
||
305 | * requires to avoid waisting RAM. |
||
306 | */ |
||
307 | #define BSD_SOCKET_COUNT (5u) |
||
308 | |||
309 | |||
310 | // ======================================================================= |
||
311 | // Application-Specific Options |
||
312 | // ======================================================================= |
||
313 | |||
314 | // -- HTTP2 Server options ----------------------------------------------- |
||
315 | |||
316 | // Maximum numbers of simultaneous HTTP connections allowed. |
||
317 | // Each connection consumes 2 bytes of RAM and a TCP socket |
||
318 | #define MAX_HTTP_CONNECTIONS (2u) |
||
319 | |||
320 | // Indicate what file to serve when no specific one is requested |
||
321 | #define HTTP_DEFAULT_FILE "index.htm" |
||
322 | #define HTTPS_DEFAULT_FILE "index.htm" |
||
323 | #define HTTP_DEFAULT_LEN (10u) // For buffer overrun protection. |
||
324 | // Set to longest length of above two strings. |
||
325 | |||
326 | // Configure MPFS over HTTP updating |
||
327 | // Comment this line to disable updating via HTTP |
||
328 | #define HTTP_MPFS_UPLOAD "mpfsupload" |
||
329 | //#define HTTP_MPFS_UPLOAD_REQUIRES_AUTH // Require password for MPFS uploads |
||
330 | // Certain firewall and router combinations cause the MPFS2 Utility to fail |
||
331 | // when uploading. If this happens, comment out this definition. |
||
332 | |||
333 | // Define which HTTP modules to use |
||
334 | // If not using a specific module, comment it to save resources |
||
335 | #define HTTP_USE_POST // Enable POST support |
||
336 | %HTTP_USE_COOKIES%#define HTTP_USE_COOKIES // Enable cookie support |
||
337 | %HTTP_USE_AUTHENTICATION%#define HTTP_USE_AUTHENTICATION // Enable basic authentication support |
||
338 | |||
339 | //#define HTTP_NO_AUTH_WITHOUT_SSL // Uncomment to require SSL before requesting a password |
||
340 | #define HTTP_SSL_ONLY_CHAR (0xFF) // Files beginning with this character will only be served over HTTPS |
||
341 | // Set to 0x00 to require for all files |
||
342 | // Set to 0xff to require for no files |
||
343 | |||
344 | // Define the listening port for the HTTP server |
||
345 | #define HTTP_PORT (80u) |
||
346 | |||
347 | // Define the listening port for the HTTPS server (if STACK_USE_SSL_SERVER is enabled) |
||
348 | #define HTTPS_PORT (443u) |
||
349 | |||
350 | // Define the maximum data length for reading cookie and GET/POST arguments (bytes) |
||
351 | #define HTTP_MAX_DATA_LEN (%HTTP_MAX_DATA_LEN%) |
||
352 | |||
353 | // Define the minimum number of bytes free in the TX FIFO before executing callbacks |
||
354 | #define HTTP_MIN_CALLBACK_FREE (16u) |
||
355 | |||
356 | %STACK_USE_HTTP_APP_RECONFIG%#define STACK_USE_HTTP_APP_RECONFIG // Use the AppConfig web page in the Demo App (~2.5kb ROM, ~0b RAM) |
||
357 | %STACK_USE_HTTP_MD5_DEMO%#define STACK_USE_HTTP_MD5_DEMO // Use the MD5 Demo web page (~5kb ROM, ~160b RAM) |
||
358 | %STACK_USE_HTTP_EMAIL_DEMO%#define STACK_USE_HTTP_EMAIL_DEMO // Use the e-mail demo web page |
||
359 | |||
360 | // -- SSL Options -------------------------------------------------------- |
||
361 | |||
362 | #define MAX_SSL_CONNECTIONS (2ul) // Maximum connections via SSL |
||
363 | #define MAX_SSL_SESSIONS (2ul) // Max # of cached SSL sessions |
||
364 | #define MAX_SSL_BUFFERS (4ul) // Max # of SSL buffers (2 per socket) |
||
365 | #define MAX_SSL_HASHES (5ul) // Max # of SSL hashes (2 per, plus 1 to avoid deadlock) |
||
366 | |||
367 | // Bits in SSL RSA key. This parameter is used for SSL sever |
||
368 | // connections only. The only valid value is 512 bits (768 and 1024 |
||
369 | // bits do not work at this time). Note, however, that SSL client |
||
370 | // operations do currently work up to 1024 bit RSA key length. |
||
371 | #define SSL_RSA_KEY_SIZE (512ul) |
||
372 | |||
373 | |||
374 | // -- Telnet Options ----------------------------------------------------- |
||
375 | |||
376 | // Number of simultaneously allowed Telnet sessions. Note that you |
||
377 | // must have an equal number of TCP_PURPOSE_TELNET type TCP sockets |
||
378 | // declared in the TCPSocketInitializer[] array above for multiple |
||
379 | // connections to work. If fewer sockets are available than this |
||
380 | // definition, then the the lesser of the two quantities will be the |
||
381 | // actual limit. |
||
382 | #define MAX_TELNET_CONNECTIONS (1u) |
||
383 | |||
384 | // Default local listening port for the Telnet server. Port 23 is the |
||
385 | // protocol default. |
||
386 | #define TELNET_PORT 23 |
||
387 | |||
388 | // Default local listening port for the Telnet server when SSL secured. |
||
389 | // Port 992 is the telnets protocol default. |
||
390 | #define TELNETS_PORT 992 |
||
391 | |||
392 | // Force all connecting clients to be SSL secured and connected via |
||
393 | // TELNETS_PORT. Connections on port TELNET_PORT will be ignored. If |
||
394 | // STACK_USE_SSL_SERVER is undefined, this entire setting is ignored |
||
395 | // (server will accept unsecured connections on TELNET_PORT and won't even |
||
396 | // listen on TELNETS_PORT). |
||
397 | //#define TELNET_REJECT_UNSECURED |
||
398 | |||
399 | // Default username and password required to login to the Telnet server. |
||
400 | #define TELNET_USERNAME "admin" |
||
401 | #define TELNET_PASSWORD "microchip" |
||
402 | |||
403 | |||
404 | // -- SNMP Options ------------------------------------------------------- |
||
405 | |||
406 | // Comment following line if SNMP TRAP support is needed |
||
407 | //#define SNMP_TRAP_DISABLED |
||
408 | |||
409 | // This is the maximum length for community string. |
||
410 | // Application must ensure that this length is observed. |
||
411 | // SNMP module adds one byte extra after SNMP_COMMUNITY_MAX_LEN |
||
412 | // for adding '\0' NULL character. |
||
413 | #define SNMP_COMMUNITY_MAX_LEN (8u) |
||
414 | #define SNMP_MAX_COMMUNITY_SUPPORT (3u) |
||
415 | #define NOTIFY_COMMUNITY_LEN (SNMP_COMMUNITY_MAX_LEN) |
||
416 | |||
417 | // Default SNMPv2C community names. These can be overridden at run time if |
||
418 | // alternate strings are present in external EEPROM or Flash (actual |
||
419 | // strings are stored in AppConfig.readCommunity[] and |
||
420 | // AppConfig.writeCommunity[] arrays). These strings are case sensitive. |
||
421 | // An empty string means disabled (not matchable). |
||
422 | // For application security, these default community names should not be |
||
423 | // used, but should all be disabled to force the end user to select unique |
||
424 | // community names. These defaults are provided only to make it easier to |
||
425 | // start development. Specifying more strings than |
||
426 | // SNMP_MAX_COMMUNITY_SUPPORT will result in the later strings being |
||
427 | // ignored (but still wasting program memory). Specifying fewer strings is |
||
428 | // legal, as long as at least one is present. A string larger than |
||
429 | // SNMP_COMMUNITY_MAX_LEN bytes will be ignored. |
||
430 | #define SNMP_READ_COMMUNITIES {"public", "read", ""} |
||
431 | #define END_OF_SNMP_READ_COMMUNITIES |
||
432 | #define SNMP_WRITE_COMMUNITIES {"private", "write", "public"} |
||
433 | #define END_OF_SNMP_WRITE_COMMUNITIES |
||
434 | #define SNMP_STACK_USE_V2_TRAP |
||
435 | #endif |
||
436 |
Powered by WebSVN v2.8.3