NetBurner 3.5.7
PDF Version
constants.h
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
18
#include <predef.h>
19
20
#ifndef _CONSTANTS_H
21
#define _CONSTANTS_H
22
#include <constants-overload.h>
23
24
#ifndef TICK_IRQ_LEVEL
25
#define TICK_IRQ_LEVEL (5)
26
#endif
27
#ifndef SERIAL_IRQ_LEVEL
28
#define SERIAL_IRQ_LEVEL (3)
29
#endif
30
#ifndef SERIAL_VECTOR_BASE
31
#define SERIAL_VECTOR_BASE (64)
32
#endif
33
48
#ifndef TICKS_PER_SECOND
49
#define TICKS_PER_SECOND (20)
50
#endif
51
58
/* #define OS_MAX_IRQ (3) */
59
63
#ifndef ETHER_BUFFER_SIZE
64
#define ETHER_BUFFER_SIZE (1548)
65
#endif
66
#ifndef ETH_MAX_PAYLOAD
67
#define ETH_MAX_PAYLOAD (1500)
68
#endif
69
#ifndef ETH_MAX_SIZE
70
#define ETH_MAX_SIZE (1522)
71
#endif
72
#ifndef ETH_MIN_SIZE
73
#define ETH_MIN_SIZE (46)
74
#endif
75
#ifndef IP_HEADER_SIZE
76
#define IP_HEADER_SIZE (20)
77
#endif
78
#ifndef UDP_HEADER_SIZE
79
#define UDP_HEADER_SIZE (8)
80
#endif
81
#ifndef MAX_UDPDATA
82
#define MAX_UDPDATA (ETH_MAX_PAYLOAD - (IP_HEADER_SIZE + UDP_HEADER_SIZE))
83
#endif
84
85
#ifndef SERIAL_TX_BUFFERS
86
#define SERIAL_TX_BUFFERS (2)
87
#endif
88
#ifndef SERIAL_RX_BUFFERS
89
#define SERIAL_RX_BUFFERS (2)
90
#endif
91
#ifndef stdin_buffer_size
92
#define stdin_buffer_size (200)
93
#endif
96
#ifndef OS_MAX_TASKS
97
#define OS_MAX_TASKS (32)
98
#endif
99
100
#ifndef OS_MAX_PRIOS
101
#define OS_MAX_PRIOS (64)
102
#endif
103
129
#ifndef MAIN_PRIO
130
#define MAIN_PRIO (50)
131
#endif
132
135
#ifndef USB_HW_PRIO
136
#define USB_HW_PRIO (45)
137
#endif
138
#ifndef PPP_PRIO
139
#define PPP_PRIO (44)
140
#endif
141
#ifndef SECURITY_TASK_PRIO
142
#define SECURITY_TASK_PRIO (43)
143
#endif
144
#ifndef WIFI_STATION_TASK_PRIO
145
#define WIFI_STATION_TASK_PRIO (42)
146
#endif
147
#ifndef WIFI_TASK_PRIO
148
#define WIFI_TASK_PRIO (41)
149
#endif
150
#ifndef CONFIG_SERVER_PRIO
151
#define CONFIG_SERVER_PRIO (40)
152
#endif
153
#ifndef HTTP_PRIO
154
#define HTTP_PRIO (39)
155
#endif
156
#ifndef ETHER_SEND_PRIO
157
#define ETHER_SEND_PRIO (38)
158
#endif
159
#ifndef USB_TASK_PRIO
160
#define USB_TASK_PRIO (4)
161
#endif
162
#ifndef MQTT_TASK_PRIO
163
#define MQTT_TASK_PRIO (MAIN_PRIO-1)
164
#endif
165
168
/* Features */
169
#ifndef SSH_TASK_PRIORITY
170
#define SSH_TASK_PRIORITY (56)
171
#endif
172
181
#if defined NB_SSH_SUPPORTED || defined NB_SSL_SUPPORTED
182
#ifndef MAIN_TASK_STK_SIZE
183
#define MAIN_TASK_STK_SIZE (3072)
184
#endif
185
#ifndef IP_STK_SIZE
186
#define IP_STK_SIZE (2048)
187
#endif
188
#ifndef TCP_STK_SIZE
189
#define TCP_STK_SIZE (3072)
190
#endif
191
#ifndef HTTP_STK_SIZE
192
#define HTTP_STK_SIZE (3072)
193
#endif
194
#ifndef IDLE_STK_SIZE
195
#define IDLE_STK_SIZE (2048)
196
#endif
197
#ifndef ETHER_SEND_STK_SIZE
198
#define ETHER_SEND_STK_SIZE (2048)
199
#endif
200
#ifndef PPP_STK_SIZE
201
#define PPP_STK_SIZE (2048)
202
#endif
203
#ifndef USB_HW_STK_SIZE
204
#define USB_HW_STK_SIZE (2048)
205
#endif
206
#ifndef USER_TASK_STK_SIZE
207
#define USER_TASK_STK_SIZE (3072)
208
#endif
209
#else
/* #ifdef NB_SSH_SUPPORTED */
210
#ifndef MAIN_TASK_STK_SIZE
211
#define MAIN_TASK_STK_SIZE (2048)
212
#endif
213
#ifndef IP_STK_SIZE
214
#define IP_STK_SIZE (2048)
215
#endif
216
#ifndef TCP_STK_SIZE
217
#define TCP_STK_SIZE (2048)
218
#endif
219
#ifndef HTTP_STK_SIZE
220
#define HTTP_STK_SIZE (2048)
221
#endif
222
#ifndef IDLE_STK_SIZE
223
#define IDLE_STK_SIZE (2048)
224
#endif
225
#ifndef ETHER_SEND_STK_SIZE
226
#define ETHER_SEND_STK_SIZE (2048)
227
#endif
228
#ifndef PPP_STK_SIZE
229
#define PPP_STK_SIZE (2048)
230
#endif
231
#ifndef USB_HW_STK_SIZE
232
#define USB_HW_STK_SIZE (2048)
233
#endif
234
#ifndef USER_TASK_STK_SIZE
235
#define USER_TASK_STK_SIZE (2048)
236
#endif
237
#endif
/* #ifdef NB_SSH_SUPPORTED */
244
#ifndef DEFAULT_TCP4_MSS
245
#define DEFAULT_TCP4_MSS (512)
246
#endif
247
#ifndef DEFAULT_TCP6_MSS
248
#define DEFAULT_TCP6_MSS (1200)
249
#endif
250
/* See RFC 1122 for a 50msec tick 60 ticks=3 sec 4*15=60 (The 4 comes from stevens Vol1-300) */
251
#ifndef DEFAULT_TCP_RTTVAR
252
#define DEFAULT_TCP_RTTVAR ((TICKS_PER_SECOND * 3) / 4)
253
#endif
254
#ifndef TCP_CONN_TO
255
#define TCP_CONN_TO (75 * TICKS_PER_SECOND)
256
#endif
257
#ifndef TCP_ACK_TICK_DLY
258
#define TCP_ACK_TICK_DLY (TICKS_PER_SECOND / 5)
259
#endif
260
#ifndef DEFAULT_INITAL_RTO
261
#define DEFAULT_INITAL_RTO (TICKS_PER_SECOND * 3)
262
#endif
263
#ifndef TCP_MAX_RTO
264
#define TCP_MAX_RTO (64 * TICKS_PER_SECOND)
265
#endif
266
#ifndef TCP_MIN_RTO
267
#define TCP_MIN_RTO (TICKS_PER_SECOND / 2)
268
#endif
269
#ifndef TCP_2MSL_WAIT
270
#define TCP_2MSL_WAIT (60 * TICKS_PER_SECOND)
271
#endif
272
#ifndef MAX_TCP_RETRY
273
#define MAX_TCP_RETRY (12)
274
#endif
275
#ifndef TCP_WRITE_TIMEOUT
276
#define TCP_WRITE_TIMEOUT (TICKS_PER_SECOND * 10)
277
#endif
278
#ifndef TCP_BUFFER_SEGMENTS
279
#define TCP_BUFFER_SEGMENTS (5)
280
#endif
281
282
#ifndef MAX_MULTICAST_GROUPS
283
#define MAX_MULTICAST_GROUPS (32)
284
#endif
285
286
#ifndef HTTP_TIMEOUT
287
#define HTTP_TIMEOUT (TICKS_PER_SECOND * 10)
288
#endif
289
#ifndef HTTP_READ_TIME_LIMIT
290
#define HTTP_READ_TIME_LIMIT (30)
291
#endif
292
#ifndef HTTP_RX_BUFFERSIZE
293
#define HTTP_RX_BUFFERSIZE (10000)
294
#endif
295
#ifndef MAX_HTTP_PENDING_SOCKETS
296
#define MAX_HTTP_PENDING_SOCKETS (5)
297
#endif
298
#ifndef MAX_HTTP_CONNECTED_SOCKETS
299
#define MAX_HTTP_CONNECTED_SOCKETS (5)
300
#endif
301
#ifndef MAX_HTTP_POST_VAR_NAME_SIZE
302
#define MAX_HTTP_POST_VAR_NAME_SIZE (256)
303
#endif
304
#ifndef MAX_HTTP_POST_VAR_VALUE_SIZE
305
#define MAX_HTTP_POST_VAR_VALUE_SIZE (256)
306
#endif
307
308
309
#ifndef DHCP_DEFAULTTIMEOUT
310
#define DHCP_DEFAULTTIMEOUT (4)
311
#endif
312
#ifndef DHCP_DEFAULTRETRY
313
#define DHCP_DEFAULTRETRY (5)
314
#endif
315
#ifndef DHCP_MAXTIMEOUT
316
#define DHCP_MAXTIMEOUT (64)
317
#endif
337
#ifndef SERIAL_SOCKET_OFFSET
338
#define SERIAL_SOCKET_OFFSET (3)
339
#endif
340
#ifndef TCP_SOCKET_OFFSET
341
#define TCP_SOCKET_OFFSET (5)
342
#endif
343
#ifndef TCP_SOCKET_STRUCTS
344
#define TCP_SOCKET_STRUCTS (128)
345
#endif
346
#ifndef EXTRA_IO_OFFSET
347
#define EXTRA_IO_OFFSET (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS)
348
#endif
349
#ifndef EXTRA_FDS
350
#define EXTRA_FDS (122)
351
#endif
352
#ifndef TOTAL_FDS
353
#define TOTAL_FDS (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS + EXTRA_FDS)
354
#endif
355
#ifndef FDSET_ELEMENTS
356
#define FDSET_ELEMENTS ((TOTAL_FDS) / 32 + ((TOTAL_FDS/32*32)!=TOTAL_FDS))
357
#endif
360
#ifndef WS_MAX_SOCKS
361
#define WS_MAX_SOCKS (4)
362
#endif
363
#ifndef RC_WS_MAX_SOCKS
364
#define RC_WS_MAX_SOCKS (4)
365
#endif
366
367
#ifndef TASK_TABLE_SIZE
368
#define TASK_TABLE_SIZE (OS_MAX_PRIOS/32 + ((OS_MAX_PRIOS/32*32)!= OS_MAX_PRIOS))
369
#endif
370
371
#ifndef MAX_IP_ERRS
372
#define MAX_IP_ERRS (3)
373
#endif
374
375
#ifndef BUFFER_POOL_SIZE
376
#define BUFFER_POOL_SIZE (256)
377
#endif
378
#ifndef POOL_BUFFER_SIZE
379
#define POOL_BUFFER_SIZE (sizeof(pool_buffer))
380
#endif
381
#ifndef UDP_DISPATCH_SIZE
382
#define UDP_DISPATCH_SIZE (15)
383
#endif
384
#ifndef UDP_MIN_BUFFER_THRESHOLD
385
#define UDP_MIN_BUFFER_THRESHOLD (10)
386
#endif
387
#ifndef ARP_ENTRY_SIZE
388
#define ARP_ENTRY_SIZE (256)
389
#endif
390
391
#ifndef UDP_NETBURNERID_PORT
392
#define UDP_NETBURNERID_PORT (0x4E42)
393
#endif
394
#ifndef UDP_DHCP_SERVER_PORT
395
#define UDP_DHCP_SERVER_PORT (67)
396
#endif
397
#ifndef UDP_DHCP_CLIENT_PORT
398
#define UDP_DHCP_CLIENT_PORT (68)
399
#endif
400
#ifndef UDP_MDNS_PORT
401
#define UDP_MDNS_PORT (5353)
402
#endif
403
404
#ifndef TFTP_RX_PORT
405
#define TFTP_RX_PORT (1414)
406
#endif
407
408
#ifndef LINK_STATUS_CHECK_INTERVAL
409
#define LINK_STATUS_CHECK_INTERVAL (2 * TICKS_PER_SECOND)
410
#endif
411
412
#ifndef FTPD_SOCKET_TIMEOUT
413
#define FTPD_SOCKET_TIMEOUT (5 * 60 * TICKS_PER_SECOND)
414
#endif
415
416
417
#ifndef _DEBUG
418
#define ENABLE_SRAM_SYS
419
#endif
420
427
#if ((defined ENABLE_SRAM_SYS) && (!defined NO_ENABLE_SRAM_SYS))
428
#define FAST_SYSTEM_VARIABLES
429
434
//#define FAST_IDLE_STACK ///< @b
435
#define FAST_MAIN_STACK
436
#define FAST_ETHERNET_VARIABLES
437
#define FAST_ETHERNET_STACK
438
#define FAST_BUFFERS_VARIABLES
439
#define FAST_BUFFERS
440
#define FAST_IP_VARIABLES
441
#define FAST_IP_STACK
442
#define FAST_TCP_VARIABLES
443
#define FAST_TCP_STACK
444
#define FAST_USB_VARIABLES
445
#define FAST_USB_STACK
446
#define FAST_HTTP_STACK
447
//#define FAST_FTP_STACK ///< @b
448
//#define FAST_WIFI_STACK ///< @b
449
//#define FAST_PPP_STACK ///< @b
450
//#define FAST_COMMAND_STACK ///< @b
458
#define FAST_USER_VARIABLES
459
#define FAST_USER_STACK
460
461
#define FAST_TLS_VARIABLES
464
#endif
467
#if ((defined FAST_SYSTEM_VARIABLES) && (!defined NO_FAST_SYSTEM_VARIABLES))
468
#define FAST_SYS_VAR __attribute__((section("SYS_VAR_SECT")))
469
#define FAST_SYS_VAR_REL __attribute__((section("SYS_VAR_SECT_REL")))
470
#define FAST_SYS_VAR_REL_STR __attribute__((section("SYS_VAR_SECT_REL_STR")))
471
#else
472
#define FAST_SYS_VAR
473
#define FAST_SYS_VAR_REL
474
#define FAST_SYS_VAR_REL_STR
475
#endif
476
#if ((defined FAST_IDLE_STACK) && (!defined NO_FAST_IDLE_STACK))
477
#define FAST_IDLE_STK __attribute__((section("IDLE_STK_SECT")))
478
#else
479
#define FAST_IDLE_STK
480
#endif
481
#if ((defined FAST_MAIN_STACK) && (!defined NO_FAST_MAIN_STACK))
482
#define FAST_MAIN_STK __attribute__((section("MAIN_STK_SECT")))
483
#else
484
#define FAST_MAIN_STK
485
#endif
486
#if ((defined FAST_USER_STACK) && (!defined NO_FAST_USER_STACK))
487
#define FAST_USER_STK __attribute__((section("USER_STK_SECT")))
488
#else
489
#define FAST_USER_STK
490
#endif
491
#if ((defined FAST_USER_VARIABLES) && (!defined NO_FAST_USER_VARIABLES))
492
#define FAST_USER_VAR __attribute__((section("USER_VAR_SECT")))
493
#else
494
#define FAST_USER_VAR
495
#endif
496
#if ((defined FAST_ETHERNET_VARIABLES) && (!defined NO_FAST_ETHERNET_VARIABLES))
497
#define FAST_ETHER_VAR __attribute__((section("ETHER_VAR_SECT")))
498
#define FAST_ETHER_VAR_REL __attribute__((section("ETHER_VAR_SECT_REL")))
499
#else
500
#define FAST_ETHER_VAR
501
#define FAST_ETHER_VAR_REL
502
#endif
503
#if ((defined FAST_ETHERNET_STACK) && (!defined NO_FAST_ETHERNET_STACK))
504
#define FAST_ETHER_STK __attribute__((section("ETHER_STK_SECT")))
505
#else
506
#define FAST_ETHER_STK
507
#endif
508
#if ((defined FAST_IP_VARIABLES) && (!defined NO_FAST_IP_VARIABLES))
509
#define FAST_IP_VAR __attribute__((section("IP_VAR_SECT")))
510
#define FAST_IP_VAR_REL __attribute__((section("IP_VAR_SECT_REL")))
511
#else
512
#define FAST_IP_VAR
513
#define FAST_IP_VAR_REL
514
#endif
515
#if ((defined FAST_IP_STACK) && (!defined NO_FAST_IP_STACK))
516
#define FAST_IP_STK __attribute__((section("IP_STK_SECT")))
517
#else
518
#define FAST_IP_STK
519
#endif
520
#if ((defined FAST_TCP_VARIABLES) && (!defined NO_FAST_TCP_VARIABLES))
521
#define FAST_TCP_VAR __attribute__((section("TCP_VAR_SECT")))
522
#define FAST_TCP_VAR_REL __attribute__((section("TCP_VAR_SECT_REL")))
523
#else
524
#define FAST_TCP_VAR
525
#define FAST_TCP_VAR_REL
526
#endif
527
#if ((defined FAST_TCP_STACK) && (!defined NO_FAST_TCP_STACK))
528
#define FAST_TCP_STK __attribute__((section("TCP_STK_SECT")))
529
#else
530
#define FAST_TCP_STK
531
#endif
532
#if ((defined FAST_HTTP_STACK) && (!defined NO_FAST_HTTP_STACK))
533
#define FAST_HTTP_STK __attribute__((section("HTTP_STK_SECT")))
534
#else
535
#define FAST_HTTP_STK
536
#endif
537
#if ((defined FAST_FTP_STACK) && (!defined NO_FAST_FTP_STACK))
538
#define FAST_FTP_STK __attribute__((section("FTP_STK_SECT")))
539
#else
540
#define FAST_FTP_STK
541
#endif
542
#if ((defined FAST_WIFI_STACK) && (!defined NO_FAST_WIFI_STACK))
543
#define FAST_WIFI_STK __attribute__((section("WIFI_STK_SECT")))
544
#else
545
#define FAST_WIFI_STK
546
#endif
547
#if ((defined FAST_PPP_STACK) && (!defined NO_FAST_PPP_STACK))
548
#define FAST_PPP_STK __attribute__((section("PPP_STK_SECT")))
549
#else
550
#define FAST_PPP_STK
551
#endif
552
#if ((defined FAST_COMMAND_STACK) && (!defined NO_FAST_COMMAND_STACK))
553
#define FAST_COMMAND_STK __attribute__((section("COMMAND_STK_SECT")))
554
#else
555
#define FAST_COMMAND_STK
556
#endif
557
#if ((defined FAST_BUFFERS_VARIABLES) && (!defined NO_FAST_BUFFERS_VARIABLES))
558
#define FAST_BUFF_VAR __attribute__((section("BUFFERS_VAR_SECT")))
559
#define FAST_BUFF_VAR_REL __attribute__((section("BUFFERS_VAR_SECT_REL")))
560
#else
561
#define FAST_BUFF_VAR
562
#define FAST_BUFF_VAR_REL
563
#endif
564
#if ((defined FAST_TLS_VARIABLES) && (!defined NO_FAST_TLS_VARIABLES))
565
#define FAST_TLS_VAR __attribute__((section("TLS_VAR_SECT")))
566
#define FAST_TLS_VAR_REL __attribute__((section("TLS_VAR_SECT_REL")))
567
#else
568
#define FAST_TLS_VAR
569
#define FAST_TLS_VAR_REL
570
#endif
571
#if ((defined FAST_USB_VARIABLES) && (!defined NO_FAST_USB_VARIABLES))
572
#define FAST_USB_VAR __attribute__((section("USB_VAR_SECT")))
573
#define FAST_USB_VAR_REL __attribute__((section("USB_VAR_SECT_REL")))
574
#else
575
#define FAST_USB_VAR
576
#define FAST_USB_VAR_REL
577
#endif
578
#if ((defined FAST_USB_STACK) && (!defined NO_FAST_USB_STACK))
579
#define FAST_USB_STK __attribute__((section("USB_STK_SECT")))
580
#else
581
#define FAST_USB_STK
582
#endif
583
584
#define DO_NOT_CACHE __attribute__((section("NO_CACHE_SECT")))
585
586
#ifndef FIRST_UNUSED_TIMER
587
#define FIRST_UNUSED_TIMER (-1)
588
#endif
589
593
#ifndef NumberOfConfigWebChannels
594
#define NumberOfConfigWebChannels (12)
595
#endif
596
#ifndef ConfigActionIdleTimeout
597
#define ConfigActionIdleTimeout (TICKS_PER_SECOND * 30)
598
#endif
599
#ifndef MAX_HDR_SIZE
600
#define MAX_HDR_SIZE (256)
601
#endif
602
#ifndef MAX_CONFIG_TCP_OUTPUT_BUFFERS
603
#define MAX_CONFIG_TCP_OUTPUT_BUFFERS (40)
604
#endif
608
#ifndef NUM_DNS_CACHE
609
#define NUM_DNS_CACHE (16)
610
#endif
611
612
#endif
/* #ifndef _CONSTANTS_H */
613
614
#include <constants-overload-undefs.h>