NetBurner 3.5.0
PDF Version
nbrtos/include/constants.h
Go to the documentation of this file.
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
18
#include <predef.h>
19
20
#ifndef _CONSTANTS_H
21
#define _CONSTANTS_H
22
23
#define TICK_IRQ_LEVEL (5)
24
#define SERIAL_IRQ_LEVEL (3)
25
#define SERIAL_VECTOR_BASE (64)
26
41
#define TICKS_PER_SECOND (20)
42
49
/* #define OS_MAX_IRQ (3) */
50
54
#define ETHER_BUFFER_SIZE 1548
55
#define ETH_MAX_PAYLOAD (1500)
56
#define ETH_MAX_SIZE (1522)
57
#define ETH_MIN_SIZE (46)
58
#define IP_HEADER_SIZE (20)
59
#define UDP_HEADER_SIZE (8)
60
#define MAX_UDPDATA (ETH_MAX_PAYLOAD - (IP_HEADER_SIZE + UDP_HEADER_SIZE))
61
62
#define SERIAL_TX_BUFFERS (2)
63
#define SERIAL_RX_BUFFERS (2)
64
#define stdin_buffer_size (200)
67
#define OS_MAX_TASKS 32
68
69
#define OS_MAX_PRIOS 64
70
71
97
#define MAIN_PRIO (50)
98
101
#define USB_HW_PRIO (45)
102
#define PPP_PRIO (44)
103
#define SECURITY_TASK_PRIO (43)
104
#define WIFI_STATION_TASK_PRIO (42)
105
#define WIFI_TASK_PRIO (41)
106
#define CONFIG_SERVER_PRIO (40)
107
#define HTTP_PRIO (39)
108
#define ETHER_SEND_PRIO (38)
111
/* Features */
112
#define SSH_TASK_PRIORITY (56)
113
122
#if defined NB_SSH_SUPPORTED || defined NB_SSL_SUPPORTED
123
#define MAIN_TASK_STK_SIZE (3072)
124
#define IP_STK_SIZE (2048)
125
#define TCP_STK_SIZE (3072)
126
#define HTTP_STK_SIZE (3072)
127
#define IDLE_STK_SIZE (2048)
128
#define ETHER_SEND_STK_SIZE (2048)
129
#define PPP_STK_SIZE (2048)
130
#define USB_HW_STK_SIZE (2048)
131
#define USER_TASK_STK_SIZE (3072)
132
#else
/* #ifdef NB_SSH_SUPPORTED */
133
#define MAIN_TASK_STK_SIZE (2048)
134
#define IP_STK_SIZE (2048)
135
#define TCP_STK_SIZE (2048)
136
#define HTTP_STK_SIZE (2048)
137
#define IDLE_STK_SIZE (2048)
138
#define ETHER_SEND_STK_SIZE (2048)
139
#define PPP_STK_SIZE (2048)
140
#define USB_HW_STK_SIZE (2048)
141
#define USER_TASK_STK_SIZE (2048)
142
#endif
/* #ifdef NB_SSH_SUPPORTED */
149
#define DEFAULT_TCP4_MSS (512)
150
#define DEFAULT_TCP6_MSS (1200)
151
/* See RFC 1122 for a 50msec tick 60 ticks=3 sec 4*15=60 (The 4 comes from stevens Vol1-300) */
152
#define DEFAULT_TCP_RTTVAR ((TICKS_PER_SECOND * 3) / 4)
153
#define TCP_CONN_TO (75 * TICKS_PER_SECOND)
154
#define TCP_ACK_TICK_DLY (TICKS_PER_SECOND / 5)
155
#define DEFAULT_INITAL_RTO (TICKS_PER_SECOND * 3)
156
#define TCP_MAX_RTO (64 * TICKS_PER_SECOND)
157
#define TCP_MIN_RTO (TICKS_PER_SECOND / 2)
158
#define TCP_2MSL_WAIT (60 * TICKS_PER_SECOND)
159
#define MAX_TCP_RETRY (12)
160
#define TCP_WRITE_TIMEOUT (TICKS_PER_SECOND * 10)
161
#define TCP_BUFFER_SEGMENTS (5)
162
163
#define MAX_MULTICAST_GROUPS (32)
164
165
#define HTTP_TIMEOUT (TICKS_PER_SECOND * 10)
166
#define HTTP_READ_TIME_LIMIT (30)
167
#define HTTP_RX_BUFFERSIZE (10000)
168
#define MAX_HTTP_PENDING_SOCKETS (5)
169
#define MAX_HTTP_CONNECTED_SOCKETS (5)
170
#define MAX_HTTP_POST_VAR_NAME_SIZE (256)
171
#define MAX_HTTP_POST_VAR_VALUE_SIZE (256)
172
173
174
#define DHCP_DEFAULTTIMEOUT (4)
175
#define DHCP_DEFAULTRETRY (5)
176
#define DHCP_MAXTIMEOUT (64)
196
#define SERIAL_SOCKET_OFFSET (3)
197
#define TCP_SOCKET_OFFSET (5)
198
#define TCP_SOCKET_STRUCTS (128)
199
#define EXTRA_IO_OFFSET (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS)
200
#define EXTRA_FDS (122)
201
#define TOTAL_FDS (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS + EXTRA_FDS)
202
#define FDSET_ELEMENTS ((TOTAL_FDS) / 32)
205
#define TASK_TABLE_SIZE 2
206
207
#define MAX_IP_ERRS 3
208
209
#define BUFFER_POOL_SIZE (256)
210
#define POOL_BUFFER_SIZE (sizeof(pool_buffer))
211
#define UDP_DISPATCH_SIZE (15)
212
#define UDP_MIN_BUFFER_THRESHOLD (10)
213
#define ARP_ENTRY_SIZE (256)
214
215
#define UDP_NETBURNERID_PORT (0x4E42)
216
#define UDP_DHCP_SERVER_PORT (67)
217
#define UDP_DHCP_CLIENT_PORT (68)
218
#define UDP_MDNS_PORT (5353)
219
220
#define TFTP_RX_PORT (1414)
221
222
#define LINK_STATUS_CHECK_INTERVAL (2 * TICKS_PER_SECOND)
223
224
#define FTPD_SOCKET_TIMEOUT (5 * 60 * TICKS_PER_SECOND)
225
226
227
#ifndef _DEBUG
228
#define ENABLE_SRAM_SYS
229
#endif
230
237
#ifdef ENABLE_SRAM_SYS
238
#define FAST_SYSTEM_VARIABLES
239
244
//#define FAST_IDLE_STACK ///< @b
245
#define FAST_MAIN_STACK
246
#define FAST_ETHERNET_VARIABLES
247
#define FAST_ETHERNET_STACK
248
#define FAST_BUFFERS_VARIABLES
249
#define FAST_BUFFERS
250
#define FAST_IP_VARIABLES
251
#define FAST_IP_STACK
252
#define FAST_TCP_VARIABLES
253
#define FAST_TCP_STACK
254
#define FAST_USB_VARIABLES
255
#define FAST_USB_STACK
256
#define FAST_HTTP_STACK
257
//#define FAST_FTP_STACK ///< @b
258
//#define FAST_WIFI_STACK ///< @b
259
//#define FAST_PPP_STACK ///< @b
260
//#define FAST_COMMAND_STACK ///< @b
268
#define FAST_USER_VARIABLES
269
#define FAST_USER_STACK
270
271
#define FAST_TLS_VARIABLES
274
#endif
277
#ifdef FAST_SYSTEM_VARIABLES
278
#define FAST_SYS_VAR __attribute__((section("SYS_VAR_SECT")))
279
#define FAST_SYS_VAR_REL __attribute__((section("SYS_VAR_SECT_REL")))
280
#define FAST_SYS_VAR_REL_STR __attribute__((section("SYS_VAR_SECT_REL_STR")))
281
#else
282
#define FAST_SYS_VAR
283
#define FAST_SYS_VAR_REL
284
#define FAST_SYS_VAR_REL_STR
285
#endif
286
#ifdef FAST_IDLE_STACK
287
#define FAST_IDLE_STK __attribute__((section("IDLE_STK_SECT")))
288
#else
289
#define FAST_IDLE_STK
290
#endif
291
#ifdef FAST_MAIN_STACK
292
#define FAST_MAIN_STK __attribute__((section("MAIN_STK_SECT")))
293
#else
294
#define FAST_MAIN_STK
295
#endif
296
#ifdef FAST_USER_STACK
297
#define FAST_USER_STK __attribute__((section("USER_STK_SECT")))
298
#else
299
#define FAST_USER_STK
300
#endif
301
#ifdef FAST_USER_VARIABLES
302
#define FAST_USER_VAR __attribute__((section("USER_VAR_SECT")))
303
#else
304
#define FAST_USER_VAR
305
#endif
306
#ifdef FAST_ETHERNET_VARIABLES
307
#define FAST_ETHER_VAR __attribute__((section("ETHER_VAR_SECT")))
308
#define FAST_ETHER_VAR_REL __attribute__((section("ETHER_VAR_SECT_REL")))
309
#else
310
#define FAST_ETHER_VAR
311
#define FAST_ETHER_VAR_REL
312
#endif
313
#ifdef FAST_ETHERNET_STACK
314
#define FAST_ETHER_STK __attribute__((section("ETHER_STK_SECT")))
315
#else
316
#define FAST_ETHER_STK
317
#endif
318
#ifdef FAST_IP_VARIABLES
319
#define FAST_IP_VAR __attribute__((section("IP_VAR_SECT")))
320
#define FAST_IP_VAR_REL __attribute__((section("IP_VAR_SECT_REL")))
321
#else
322
#define FAST_IP_VAR
323
#define FAST_IP_VAR_REL
324
#endif
325
#ifdef FAST_IP_STACK
326
#define FAST_IP_STK __attribute__((section("IP_STK_SECT")))
327
#else
328
#define FAST_IP_STK
329
#endif
330
#ifdef FAST_TCP_VARIABLES
331
#define FAST_TCP_VAR __attribute__((section("TCP_VAR_SECT")))
332
#define FAST_TCP_VAR_REL __attribute__((section("TCP_VAR_SECT_REL")))
333
#else
334
#define FAST_TCP_VAR
335
#define FAST_TCP_VAR_REL
336
#endif
337
#ifdef FAST_TCP_STACK
338
#define FAST_TCP_STK __attribute__((section("TCP_STK_SECT")))
339
#else
340
#define FAST_TCP_STK
341
#endif
342
#ifdef FAST_HTTP_STACK
343
#define FAST_HTTP_STK __attribute__((section("HTTP_STK_SECT")))
344
#else
345
#define FAST_HTTP_STK
346
#endif
347
#ifdef FAST_FTP_STACK
348
#define FAST_FTP_STK __attribute__((section("FTP_STK_SECT")))
349
#else
350
#define FAST_FTP_STK
351
#endif
352
#ifdef FAST_WIFI_STACK
353
#define FAST_WIFI_STK __attribute__((section("WIFI_STK_SECT")))
354
#else
355
#define FAST_WIFI_STK
356
#endif
357
#ifdef FAST_PPP_STACK
358
#define FAST_PPP_STK __attribute__((section("PPP_STK_SECT")))
359
#else
360
#define FAST_PPP_STK
361
#endif
362
#ifdef FAST_COMMAND_STACK
363
#define FAST_COMMAND_STK __attribute__((section("COMMAND_STK_SECT")))
364
#else
365
#define FAST_COMMAND_STK
366
#endif
367
#ifdef FAST_BUFFERS_VARIABLES
368
#define FAST_BUFF_VAR __attribute__((section("BUFFERS_VAR_SECT")))
369
#define FAST_BUFF_VAR_REL __attribute__((section("BUFFERS_VAR_SECT_REL")))
370
#else
371
#define FAST_BUFF_VAR
372
#define FAST_BUFF_VAR_REL
373
#endif
374
#ifdef FAST_TLS_VARIABLES
375
#define FAST_TLS_VAR __attribute__((section("TLS_VAR_SECT")))
376
#define FAST_TLS_VAR_REL __attribute__((section("TLS_VAR_SECT_REL")))
377
#else
378
#define FAST_TLS_VAR
379
#define FAST_TLS_VAR_REL
380
#endif
381
#ifdef FAST_USB_VARIABLES
382
#define FAST_USB_VAR __attribute__((section("USB_VAR_SECT")))
383
#define FAST_USB_VAR_REL __attribute__((section("USB_VAR_SECT_REL")))
384
#else
385
#define FAST_USB_VAR
386
#define FAST_USB_VAR_REL
387
#endif
388
#ifdef FAST_USB_STACK
389
#define FAST_USB_STK __attribute__((section("USB_STK_SECT")))
390
#else
391
#define FAST_USB_STK
392
#endif
393
394
#define DO_NOT_CACHE __attribute__((section("NO_CACHE_SECT")))
395
396
#define FIRST_UNUSED_TIMER (-1)
397
401
#define NumberOfConfigWebChannels 12
402
#define ConfigActionIdleTimeout (TICKS_PER_SECOND * 30)
403
#define MAX_HDR_SIZE (256)
404
#define MAX_CONFIG_TCP_OUTPUT_BUFFERS (40)
408
#define NUM_DNS_CACHE (16)
409
410
#endif
/* #ifndef _CONSTANTS_H */
411