Example of HTTPServer with additional features: * SNTPClient, DST rules * Link status indication * Local or SDCard-based WebServer * RPC-able class * Static and Dynamic HTML page
lwip/Core/lwipopts.h@1:ec4170739967, 2010-01-08 (annotated)
- Committer:
- iva2k
- Date:
- Fri Jan 08 00:28:14 2010 +0000
- Revision:
- 1:ec4170739967
- Parent:
- 0:886e4b3119ad
- Child:
- 2:360fda42fefd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
iva2k | 0:886e4b3119ad | 1 | #ifndef LWIPOPTS_H |
iva2k | 0:886e4b3119ad | 2 | #define LWIPOPTS_H |
iva2k | 0:886e4b3119ad | 3 | |
iva2k | 0:886e4b3119ad | 4 | #include <string.h> |
iva2k | 0:886e4b3119ad | 5 | #include <stdlib.h> |
iva2k | 0:886e4b3119ad | 6 | //#include <mbed.h> |
iva2k | 0:886e4b3119ad | 7 | #include <stdio.h> |
iva2k | 0:886e4b3119ad | 8 | |
iva2k | 0:886e4b3119ad | 9 | #ifdef __cplusplus |
iva2k | 0:886e4b3119ad | 10 | using namespace std; |
iva2k | 0:886e4b3119ad | 11 | #endif |
iva2k | 0:886e4b3119ad | 12 | |
iva2k | 0:886e4b3119ad | 13 | // Application specific lwIP Options. |
iva2k | 0:886e4b3119ad | 14 | #define IPv6 0 |
iva2k | 0:886e4b3119ad | 15 | #define NO_SYS 1 |
iva2k | 0:886e4b3119ad | 16 | #define LWIP_ARP 1 |
iva2k | 0:886e4b3119ad | 17 | #define LWIP_RAW 0 |
iva2k | 0:886e4b3119ad | 18 | #define LWIP_UDP 1 |
iva2k | 0:886e4b3119ad | 19 | #define LWIP_TCP 1 |
iva2k | 0:886e4b3119ad | 20 | #define LWIP_DNS 1 |
iva2k | 0:886e4b3119ad | 21 | #define LWIP_DHCP 1 |
iva2k | 0:886e4b3119ad | 22 | #define LWIP_IGMP 0 |
iva2k | 0:886e4b3119ad | 23 | #define LWIP_SNMP 0 |
iva2k | 0:886e4b3119ad | 24 | #define LWIP_SOCKET 0 |
iva2k | 0:886e4b3119ad | 25 | #define LWIP_NETCONN 0 |
iva2k | 0:886e4b3119ad | 26 | #define LWIP_AUTOIP 0 |
iva2k | 0:886e4b3119ad | 27 | #define LWIP_CALLBACK_API 1 |
iva2k | 0:886e4b3119ad | 28 | |
iva2k | 0:886e4b3119ad | 29 | #define MEM_LIBC_MALLOC 0 |
iva2k | 0:886e4b3119ad | 30 | #define MEMP_MEM_MALLOC 1 |
iva2k | 0:886e4b3119ad | 31 | #define MEM_ALIGNMENT 4 |
iva2k | 0:886e4b3119ad | 32 | //#define MEM_SIZE 5000 |
iva2k | 0:886e4b3119ad | 33 | #define MEM_SIZE 10000 |
iva2k | 0:886e4b3119ad | 34 | //#define MEM_SIZE (EMAC_MEM_SIZE - (2 * SIZEOF_STRUCT_MEM) - MEM_ALIGNMENT) |
iva2k | 0:886e4b3119ad | 35 | #define MEM_POSITION __attribute((section("AHBSRAM1"),aligned)) |
iva2k | 0:886e4b3119ad | 36 | // EMAC_MEM_ADDR |
iva2k | 0:886e4b3119ad | 37 | |
iva2k | 0:886e4b3119ad | 38 | #define ARP_QUEUEING 0 |
iva2k | 0:886e4b3119ad | 39 | #define LWIP_NETIF_HOSTNAME 1 |
iva2k | 0:886e4b3119ad | 40 | |
iva2k | 0:886e4b3119ad | 41 | #define ARP_TABLE_SIZE 4 |
iva2k | 0:886e4b3119ad | 42 | |
iva2k | 0:886e4b3119ad | 43 | #define DNS_TABLE_SIZE 1 |
iva2k | 0:886e4b3119ad | 44 | #define DNS_USES_STATIC_BUF 0 |
iva2k | 0:886e4b3119ad | 45 | // 0 - Stack |
iva2k | 0:886e4b3119ad | 46 | // 1 - RW-MEM |
iva2k | 0:886e4b3119ad | 47 | // 2 - Heap |
iva2k | 0:886e4b3119ad | 48 | |
iva2k | 0:886e4b3119ad | 49 | #define IP_FRAG_USES_STATIC_BUF 0 |
iva2k | 0:886e4b3119ad | 50 | #define LWIP_STATS 0 |
iva2k | 0:886e4b3119ad | 51 | |
iva2k | 0:886e4b3119ad | 52 | #define DNS_LOCAL_HOSTLIST_IS_DYNAMIC 1 |
iva2k | 0:886e4b3119ad | 53 | |
iva2k | 0:886e4b3119ad | 54 | #define TCP_SND_BUF 2000 |
iva2k | 0:886e4b3119ad | 55 | #define TCP_MSS 0x276 |
iva2k | 0:886e4b3119ad | 56 | //0x300 |
iva2k | 0:886e4b3119ad | 57 | //#define TCP_SND_QUEUELEN (2 * TCP_SND_BUF/TCP_MSS) |
iva2k | 0:886e4b3119ad | 58 | #define TCP_SND_QUEUELEN 16 |
iva2k | 0:886e4b3119ad | 59 | #define MEMP_NUM_TCP_PCB 5 |
iva2k | 0:886e4b3119ad | 60 | #define MEMP_NUM_TCP_PCB_LISTEN 8 |
iva2k | 0:886e4b3119ad | 61 | #define MEMP_NUM_TCP_SEG 20 |
iva2k | 0:886e4b3119ad | 62 | #define MEMP_NUM_PBUF 16 |
iva2k | 0:886e4b3119ad | 63 | #define PBUF_POOL_SIZE 6 |
iva2k | 0:886e4b3119ad | 64 | |
iva2k | 0:886e4b3119ad | 65 | #ifndef HOSTNAME |
iva2k | 0:886e4b3119ad | 66 | #define HOSTNAME "mbed-c3p0" |
iva2k | 0:886e4b3119ad | 67 | #endif |
iva2k | 0:886e4b3119ad | 68 | |
iva2k | 0:886e4b3119ad | 69 | //#define LWIP_DEBUG 1 |
iva2k | 0:886e4b3119ad | 70 | //#define LWIP_DBG_TYPES_ON ~0x0 |
iva2k | 0:886e4b3119ad | 71 | //#define LWIP_DBG_MIN_LEVEL 0 |
iva2k | 0:886e4b3119ad | 72 | //#define MEM_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 73 | //#define TCP_INPUT_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 74 | //#define TCP_OUTPUT_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 75 | //#define NETIF_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 76 | //#define DHCP_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 77 | //#define IP_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 78 | //#define TCP_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 79 | //#define TCP_CWND_DEBUG (LWIP_DBG_ON | LWIP_DBG_LEVEL_WARNING) |
iva2k | 0:886e4b3119ad | 80 | |
iva2k | 0:886e4b3119ad | 81 | //------------------------------------------------------------------------------ |
iva2k | 0:886e4b3119ad | 82 | // [iva2k] Defines for LWIP/sntp, using SNTPClient wrapper |
iva2k | 0:886e4b3119ad | 83 | |
iva2k | 0:886e4b3119ad | 84 | #ifdef __cplusplus |
iva2k | 0:886e4b3119ad | 85 | extern "C" { |
iva2k | 0:886e4b3119ad | 86 | #endif |
iva2k | 0:886e4b3119ad | 87 | |
iva2k | 0:886e4b3119ad | 88 | #include <time.h> |
iva2k | 0:886e4b3119ad | 89 | extern unsigned int gSntpRecvTimeout_ms; |
iva2k | 0:886e4b3119ad | 90 | extern unsigned int gSntpUpdateDelay_ms; // Never set this below 15000 |
iva2k | 0:886e4b3119ad | 91 | void SntpClientSet(time_t sec); // Receives NTP timestamp |
iva2k | 0:886e4b3119ad | 92 | |
iva2k | 0:886e4b3119ad | 93 | #ifdef __cplusplus |
iva2k | 0:886e4b3119ad | 94 | }; |
iva2k | 0:886e4b3119ad | 95 | #endif |
iva2k | 0:886e4b3119ad | 96 | |
iva2k | 0:886e4b3119ad | 97 | // Do not change these: |
iva2k | 0:886e4b3119ad | 98 | #define SNTP_SOCKET 0 |
iva2k | 1:ec4170739967 | 99 | #define SNTP_DEBUG LWIP_DBG_ON |
iva2k | 1:ec4170739967 | 100 | #define PBUF_DEBUG LWIP_DBG_ON |
iva2k | 0:886e4b3119ad | 101 | #define SNTP_PORT 123 |
iva2k | 0:886e4b3119ad | 102 | #define SNTP_SERVER_DNS 1 // Override. Use URLs. Do not use IP addresses! |
iva2k | 0:886e4b3119ad | 103 | #define SNTP_SUPPORT_MULTIPLE_SERVERS 1 // Override. Allow multiple servers. |
iva2k | 0:886e4b3119ad | 104 | #define SNTP_SET_SYSTEM_TIME(sec) SntpClientSet(sec) |
iva2k | 0:886e4b3119ad | 105 | /** SNTP macro to get system time, used with SNTP_CHECK_RESPONSE >= 2 |
iva2k | 0:886e4b3119ad | 106 | * to send in request and compare in response. |
iva2k | 0:886e4b3119ad | 107 | */ |
iva2k | 0:886e4b3119ad | 108 | #define SNTP_GET_SYSTEM_TIME(sec, us) do { (sec) = 0; (us) = 0; } while(0) |
iva2k | 0:886e4b3119ad | 109 | #define SNTP_RECV_TIMEOUT gSntpRecvTimeout_ms |
iva2k | 0:886e4b3119ad | 110 | #define SNTP_UPDATE_DELAY gSntpUpdateDelay_ms |
iva2k | 0:886e4b3119ad | 111 | #define SNTP_SUPPRESS_DELAY_CHECK 1 // needed to substitute define with global |
iva2k | 0:886e4b3119ad | 112 | |
iva2k | 0:886e4b3119ad | 113 | // You can change these: |
iva2k | 0:886e4b3119ad | 114 | #define SNTP_SERVER_ADDRESS \ |
iva2k | 0:886e4b3119ad | 115 | "pool.ntp.org", \ |
iva2k | 0:886e4b3119ad | 116 | "north-america.pool.ntp.org", \ |
iva2k | 0:886e4b3119ad | 117 | "time-a.nist.gov", \ |
iva2k | 0:886e4b3119ad | 118 | "time-b.nist.gov", \ |
iva2k | 0:886e4b3119ad | 119 | // comma-separated list of server URLs |
iva2k | 0:886e4b3119ad | 120 | #define SNTP_CHECK_RESPONSE 2 // For now use more checks. Do not set above 2. |
iva2k | 0:886e4b3119ad | 121 | #define SNTP_STARTUP_DELAY 0 // ms, Should be randomized |
iva2k | 0:886e4b3119ad | 122 | |
iva2k | 0:886e4b3119ad | 123 | // END [iva2k] Defines for LWIP/sntp, using SNTPClient wrapper |
iva2k | 0:886e4b3119ad | 124 | //------------------------------------------------------------------------------ |
iva2k | 0:886e4b3119ad | 125 | |
iva2k | 0:886e4b3119ad | 126 | #endif |