Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of F7_Ethernet by
net_decl.h
00001 // 00002 // NET_DECL.H - header file for other ebs header files 00003 // 00004 // 00005 // EBSnet - RTIP 00006 // 00007 // $Author: YOHANNES $ 00008 // $Date: 2007/11/21 12:00:00 $ 00009 // $Name: $ 00010 // $Revision: 1.1 $ 00011 // 00012 // Copyright EBSnet Inc. , 2007 00013 // All rights reserved. 00014 // This code may not be redistributed in source or linkable object form 00015 // without the consent of its author. 00016 // 00017 // Module description: 00018 // 00019 // 00020 00021 #ifndef _NET_DECL_H_ 00022 #define _NET_DECL_H_ 00023 00024 #include <tinyhal.h> 00025 #include "network_defines.h" 00026 00027 #ifdef PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE 00028 #define NETWORK_MEMORY_POOL__SIZE PLATFORM_DEPENDENT__NETWORK_MEMORY_POOL__SIZE 00029 #else 00030 #define NETWORK_MEMORY_POOL__SIZE NETWORK_MEMORY_POOL__SIZE__default 00031 #endif 00032 00033 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS 00034 #define NETWORK_PACKET_POOL_0__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_0__NUM_PACKETS 00035 #else 00036 #define NETWORK_PACKET_POOL_0__NUM_PACKETS NETWORK_PACKET_POOL_0__NUM_PACKETS__default 00037 #endif 00038 00039 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS 00040 #define NETWORK_PACKET_POOL_1__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_1__NUM_PACKETS 00041 #else 00042 #define NETWORK_PACKET_POOL_1__NUM_PACKETS NETWORK_PACKET_POOL_1__NUM_PACKETS__default 00043 #endif 00044 00045 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS 00046 #define NETWORK_PACKET_POOL_2__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_2__NUM_PACKETS 00047 #else 00048 #define NETWORK_PACKET_POOL_2__NUM_PACKETS NETWORK_PACKET_POOL_2__NUM_PACKETS__default 00049 #endif 00050 00051 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS 00052 #define NETWORK_PACKET_POOL_3__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_3__NUM_PACKETS 00053 #else 00054 #define NETWORK_PACKET_POOL_3__NUM_PACKETS NETWORK_PACKET_POOL_3__NUM_PACKETS__default 00055 #endif 00056 00057 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS 00058 #define NETWORK_PACKET_POOL_4__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_4__NUM_PACKETS 00059 #else 00060 #define NETWORK_PACKET_POOL_4__NUM_PACKETS NETWORK_PACKET_POOL_4__NUM_PACKETS__default 00061 #endif 00062 00063 #ifdef PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS 00064 #define NETWORK_PACKET_POOL_5__NUM_PACKETS PLATFORM_DEPENDENT__NETWORK_PACKET_POOL_5__NUM_PACKETS 00065 #else 00066 #define NETWORK_PACKET_POOL_5__NUM_PACKETS NETWORK_PACKET_POOL_5__NUM_PACKETS__default 00067 #endif 00068 00069 //--// 00070 00071 #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_IFACES 00072 #define NETWORK_NUM_IFACES PLATFORM_DEPENDENT__NETWORK_NUM_IFACES 00073 #else 00074 #define NETWORK_NUM_IFACES NETWORK_NUM_IFACES__default 00075 #endif 00076 00077 #ifdef PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES 00078 #define NETWORK_NUM_DEVICES PLATFORM_DEPENDENT__NETWORK_NUM_DEVICES 00079 #else 00080 #define NETWORK_NUM_DEVICES NETWORK_NUM_DEVICES__default 00081 #endif 00082 00083 #ifdef PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE 00084 #define NETWORK_MULTICAST_LIST_SIZE PLATFORM_DEPENDENT__NETWORK_MULTICAST_LIST_SIZE 00085 #else 00086 #define NETWORK_MULTICAST_LIST_SIZE NETWORK_MULTICAST_LIST_SIZE__default 00087 #endif 00088 00089 #ifdef PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE 00090 #define NETWORK_ROUTINGTABLE_SIZE PLATFORM_DEPENDENT__NETWORK_ROUTINGTABLE_SIZE 00091 #else 00092 #define NETWORK_ROUTINGTABLE_SIZE NETWORK_ROUTINGTABLE_SIZE__default 00093 #endif 00094 00095 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES 00096 #define NETWORK_ARP_NUM_TABLE_ENTRIES PLATFORM_DEPENDENT__NETWORK_ARP_NUM_TABLE_ENTRIES 00097 #else 00098 #define NETWORK_ARP_NUM_TABLE_ENTRIES NETWORK_ARP_NUM_TABLE_ENTRIES__default 00099 #endif 00100 00101 #ifdef PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE 00102 #define NETWORK_FRAG_TABLE_SIZE PLATFORM_DEPENDENT__NETWORK_FRAG_TABLE_SIZE 00103 #else 00104 #define NETWORK_FRAG_TABLE_SIZE NETWORK_FRAG_TABLE_SIZE__default 00105 #endif 00106 00107 #ifdef PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES 00108 #define NETWORK_NAT_NUM_ENTRIES PLATFORM_DEPENDENT__NETWORK_NAT_NUM_ENTRIES 00109 #else 00110 #define NETWORK_NAT_NUM_ENTRIES NETWORK_NAT_NUM_ENTRIES__default 00111 #endif 00112 00113 #ifdef PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED 00114 #define NETWORK_TCP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_TCP_NUM_PORTS__SUPPORTED 00115 #else 00116 #define NETWORK_TCP_NUM_PORTS__SUPPORTED NETWORK_TCP_NUM_PORTS__SUPPORTED__default 00117 #endif 00118 00119 #ifdef PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED 00120 #define NETWORK_UDP_NUM_PORTS__SUPPORTED PLATFORM_DEPENDENT__NETWORK_UDP_NUM_PORTS__SUPPORTED 00121 #else 00122 #define NETWORK_UDP_NUM_PORTS__SUPPORTED NETWORK_UDP_NUM_PORTS__SUPPORTED__default 00123 #endif 00124 00125 #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES 00126 #define NETWORK_DHCP_RETRIES PLATFORM_DEPENDENT__NETWORK_DHCP_RETRIES 00127 #else 00128 #define NETWORK_DHCP_RETRIES NETWORK_DHCP_RETRIES__default 00129 #endif 00130 00131 #ifdef PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT 00132 #define NETWORK_DHCP_TIMEOUT PLATFORM_DEPENDENT__NETWORK_DHCP_TIMEOUT 00133 #else 00134 #define NETWORK_DHCP_TIMEOUT NETWORK_DHCP_TIMEOUT__default 00135 #endif 00136 00137 #ifdef PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY 00138 #define NETWORK_IGMPV1_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_IGMPV1_MAX_DELAY 00139 #else 00140 #define NETWORK_IGMPV1_MAX_DELAY NETWORK_IGMPV1_MAX_DELAY__default 00141 #endif 00142 00143 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT 00144 #define NETWORK_ARP_REQ_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_REQ_TIMEOUT 00145 #else 00146 #define NETWORK_ARP_REQ_TIMEOUT NETWORK_ARP_REQ_TIMEOUT__default 00147 #endif 00148 00149 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES 00150 #define NETWORK_ARP_MAX_RETRIES PLATFORM_DEPENDENT__NETWORK_ARP_MAX_RETRIES 00151 #else 00152 #define NETWORK_ARP_MAX_RETRIES NETWORK_ARP_MAX_RETRIES__default 00153 #endif 00154 00155 #ifdef PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT 00156 #define NETWORK_ARP_RES_TIMEOUT PLATFORM_DEPENDENT__NETWORK_ARP_RES_TIMEOUT 00157 #else 00158 #define NETWORK_ARP_RES_TIMEOUT NETWORK_ARP_RES_TIMEOUT__default 00159 #endif 00160 00161 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY 00162 #define NETWORK_DNS_MIN_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MIN_DELAY 00163 #else 00164 #define NETWORK_DNS_MIN_DELAY NETWORK_DNS_MIN_DELAY__default 00165 #endif 00166 00167 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY 00168 #define NETWORK_DNS_MAX_DELAY PLATFORM_DEPENDENT__NETWORK_DNS_MAX_DELAY 00169 #else 00170 #define NETWORK_DNS_MAX_DELAY NETWORK_DNS_MAX_DELAY__default 00171 #endif 00172 00173 #ifdef PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES 00174 #define NETWORK_DNS_RETRIES PLATFORM_DEPENDENT__NETWORK_DNS_RETRIES 00175 #else 00176 #define NETWORK_DNS_RETRIES NETWORK_DNS_RETRIES__default 00177 #endif 00178 00179 //--// RAM size estimate macro 00180 00181 // The following values are from the EBSNet RAM usage spreadsheet 00182 #define _NETWORK_SIZEOF_NONE 4 00183 // mclist_ip, mclist_eth, mcast_cnt, report_timer, last_host_toreply 00184 #define _NETWORK_SIZEOF_MCLISTSIZE (4*3) 00185 #define _NETWORK_SIZEOF_DCU 112 00186 #define _NETWORK_SIZEOF_IFACE (380 + 28 + 84 + 4 + 4 + 16 + 16 + (8 * 8)) 00187 #define _NETWORK_SIZEOF_ROUTINGTABLE 56 00188 #define _NETWORK_SIZEOF_ARP_ENTRY 28 00189 #define _NETWORK_SIZEOF_TCPPORT (472 + 16 + (8*8)) 00190 #define _NETWORK_SIZEOF_UDPPORT (272 + 16 + (8*8)) 00191 #define _NETWORK_SIZEOF_FRAG_ENTRY 20 00192 #define _NETWORK_SIZEOF_NAT_ENTRY 24 00193 #define _NETWORK_SIZEOF_PACKET_OVERHEAD 1 00194 00195 #define _NETWORK_TOTAL_PACKET_COUNT (NETWORK_PACKET_POOL_0__NUM_PACKETS + \ 00196 NETWORK_PACKET_POOL_1__NUM_PACKETS + \ 00197 NETWORK_PACKET_POOL_2__NUM_PACKETS + \ 00198 NETWORK_PACKET_POOL_3__NUM_PACKETS + \ 00199 NETWORK_PACKET_POOL_4__NUM_PACKETS + \ 00200 NETWORK_PACKET_POOL_5__NUM_PACKETS) 00201 00202 00203 #define NETWORK_RAM_SIZE_ESTIMATE() (\ 00204 _NETWORK_SIZEOF_NONE + \ 00205 NETWORK_MULTICAST_LIST_SIZE * (_NETWORK_SIZEOF_MCLISTSIZE) + \ 00206 NETWORK_PACKET_POOL_0__NUM_PACKETS * (NETWORK_PACKET_POOL_0__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00207 NETWORK_PACKET_POOL_1__NUM_PACKETS * (NETWORK_PACKET_POOL_1__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00208 NETWORK_PACKET_POOL_2__NUM_PACKETS * (NETWORK_PACKET_POOL_2__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00209 NETWORK_PACKET_POOL_3__NUM_PACKETS * (NETWORK_PACKET_POOL_3__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00210 NETWORK_PACKET_POOL_4__NUM_PACKETS * (NETWORK_PACKET_POOL_4__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00211 NETWORK_PACKET_POOL_5__NUM_PACKETS * (NETWORK_PACKET_POOL_5__PACKET_SIZE + _NETWORK_SIZEOF_DCU) + \ 00212 _NETWORK_TOTAL_PACKET_COUNT * _NETWORK_SIZEOF_PACKET_OVERHEAD + \ 00213 NETWORK_NUM_IFACES * _NETWORK_SIZEOF_IFACE + \ 00214 NETWORK_ROUTINGTABLE_SIZE * _NETWORK_SIZEOF_ROUTINGTABLE + \ 00215 NETWORK_ARP_NUM_TABLE_ENTRIES * _NETWORK_SIZEOF_ARP_ENTRY + \ 00216 NETWORK_TCP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_TCPPORT + \ 00217 NETWORK_UDP_NUM_PORTS__SUPPORTED * _NETWORK_SIZEOF_UDPPORT + \ 00218 NETWORK_FRAG_TABLE_SIZE * _NETWORK_SIZEOF_FRAG_ENTRY + \ 00219 NETWORK_NAT_NUM_ENTRIES * _NETWORK_SIZEOF_NAT_ENTRY ) \ 00220 00221 00222 typedef char NETWORK_COMPILE_TIME_ASSERT[NETWORK_MEMORY_POOL__SIZE - NETWORK_RAM_SIZE_ESTIMATE()]; 00223 00224 00225 #endif //_NET_DECL_H_ 00226
Generated on Tue Jul 12 2022 21:19:02 by
1.7.2
