NetBurner 3.5.6
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 TASK_TABLE_SIZE
361
#define TASK_TABLE_SIZE (OS_MAX_PRIOS/32 + ((OS_MAX_PRIOS/32*32)!= OS_MAX_PRIOS))
362
#endif
363
364
#ifndef MAX_IP_ERRS
365
#define MAX_IP_ERRS (3)
366
#endif
367
368
#ifndef BUFFER_POOL_SIZE
369
#define BUFFER_POOL_SIZE (256)
370
#endif
371
#ifndef POOL_BUFFER_SIZE
372
#define POOL_BUFFER_SIZE (sizeof(pool_buffer))
373
#endif
374
#ifndef UDP_DISPATCH_SIZE
375
#define UDP_DISPATCH_SIZE (15)
376
#endif
377
#ifndef UDP_MIN_BUFFER_THRESHOLD
378
#define UDP_MIN_BUFFER_THRESHOLD (10)
379
#endif
380
#ifndef ARP_ENTRY_SIZE
381
#define ARP_ENTRY_SIZE (256)
382
#endif
383
384
#ifndef UDP_NETBURNERID_PORT
385
#define UDP_NETBURNERID_PORT (0x4E42)
386
#endif
387
#ifndef UDP_DHCP_SERVER_PORT
388
#define UDP_DHCP_SERVER_PORT (67)
389
#endif
390
#ifndef UDP_DHCP_CLIENT_PORT
391
#define UDP_DHCP_CLIENT_PORT (68)
392
#endif
393
#ifndef UDP_MDNS_PORT
394
#define UDP_MDNS_PORT (5353)
395
#endif
396
397
#ifndef TFTP_RX_PORT
398
#define TFTP_RX_PORT (1414)
399
#endif
400
401
#ifndef LINK_STATUS_CHECK_INTERVAL
402
#define LINK_STATUS_CHECK_INTERVAL (2 * TICKS_PER_SECOND)
403
#endif
404
405
#ifndef FTPD_SOCKET_TIMEOUT
406
#define FTPD_SOCKET_TIMEOUT (5 * 60 * TICKS_PER_SECOND)
407
#endif
408
409
410
#ifndef _DEBUG
411
#define ENABLE_SRAM_SYS
412
#endif
413
420
#if ((defined ENABLE_SRAM_SYS) && (!defined NO_ENABLE_SRAM_SYS))
421
#define FAST_SYSTEM_VARIABLES
422
427
//#define FAST_IDLE_STACK ///< @b
428
#define FAST_MAIN_STACK
429
#define FAST_ETHERNET_VARIABLES
430
#define FAST_ETHERNET_STACK
431
#define FAST_BUFFERS_VARIABLES
432
#define FAST_BUFFERS
433
#define FAST_IP_VARIABLES
434
#define FAST_IP_STACK
435
#define FAST_TCP_VARIABLES
436
#define FAST_TCP_STACK
437
#define FAST_USB_VARIABLES
438
#define FAST_USB_STACK
439
#define FAST_HTTP_STACK
440
//#define FAST_FTP_STACK ///< @b
441
//#define FAST_WIFI_STACK ///< @b
442
//#define FAST_PPP_STACK ///< @b
443
//#define FAST_COMMAND_STACK ///< @b
451
#define FAST_USER_VARIABLES
452
#define FAST_USER_STACK
453
454
#define FAST_TLS_VARIABLES
457
#endif
460
#if ((defined FAST_SYSTEM_VARIABLES) && (!defined NO_FAST_SYSTEM_VARIABLES))
461
#define FAST_SYS_VAR __attribute__((section("SYS_VAR_SECT")))
462
#define FAST_SYS_VAR_REL __attribute__((section("SYS_VAR_SECT_REL")))
463
#define FAST_SYS_VAR_REL_STR __attribute__((section("SYS_VAR_SECT_REL_STR")))
464
#else
465
#define FAST_SYS_VAR
466
#define FAST_SYS_VAR_REL
467
#define FAST_SYS_VAR_REL_STR
468
#endif
469
#if ((defined FAST_IDLE_STACK) && (!defined NO_FAST_IDLE_STACK))
470
#define FAST_IDLE_STK __attribute__((section("IDLE_STK_SECT")))
471
#else
472
#define FAST_IDLE_STK
473
#endif
474
#if ((defined FAST_MAIN_STACK) && (!defined NO_FAST_MAIN_STACK))
475
#define FAST_MAIN_STK __attribute__((section("MAIN_STK_SECT")))
476
#else
477
#define FAST_MAIN_STK
478
#endif
479
#if ((defined FAST_USER_STACK) && (!defined NO_FAST_USER_STACK))
480
#define FAST_USER_STK __attribute__((section("USER_STK_SECT")))
481
#else
482
#define FAST_USER_STK
483
#endif
484
#if ((defined FAST_USER_VARIABLES) && (!defined NO_FAST_USER_VARIABLES))
485
#define FAST_USER_VAR __attribute__((section("USER_VAR_SECT")))
486
#else
487
#define FAST_USER_VAR
488
#endif
489
#if ((defined FAST_ETHERNET_VARIABLES) && (!defined NO_FAST_ETHERNET_VARIABLES))
490
#define FAST_ETHER_VAR __attribute__((section("ETHER_VAR_SECT")))
491
#define FAST_ETHER_VAR_REL __attribute__((section("ETHER_VAR_SECT_REL")))
492
#else
493
#define FAST_ETHER_VAR
494
#define FAST_ETHER_VAR_REL
495
#endif
496
#if ((defined FAST_ETHERNET_STACK) && (!defined NO_FAST_ETHERNET_STACK))
497
#define FAST_ETHER_STK __attribute__((section("ETHER_STK_SECT")))
498
#else
499
#define FAST_ETHER_STK
500
#endif
501
#if ((defined FAST_IP_VARIABLES) && (!defined NO_FAST_IP_VARIABLES))
502
#define FAST_IP_VAR __attribute__((section("IP_VAR_SECT")))
503
#define FAST_IP_VAR_REL __attribute__((section("IP_VAR_SECT_REL")))
504
#else
505
#define FAST_IP_VAR
506
#define FAST_IP_VAR_REL
507
#endif
508
#if ((defined FAST_IP_STACK) && (!defined NO_FAST_IP_STACK))
509
#define FAST_IP_STK __attribute__((section("IP_STK_SECT")))
510
#else
511
#define FAST_IP_STK
512
#endif
513
#if ((defined FAST_TCP_VARIABLES) && (!defined NO_FAST_TCP_VARIABLES))
514
#define FAST_TCP_VAR __attribute__((section("TCP_VAR_SECT")))
515
#define FAST_TCP_VAR_REL __attribute__((section("TCP_VAR_SECT_REL")))
516
#else
517
#define FAST_TCP_VAR
518
#define FAST_TCP_VAR_REL
519
#endif
520
#if ((defined FAST_TCP_STACK) && (!defined NO_FAST_TCP_STACK))
521
#define FAST_TCP_STK __attribute__((section("TCP_STK_SECT")))
522
#else
523
#define FAST_TCP_STK
524
#endif
525
#if ((defined FAST_HTTP_STACK) && (!defined NO_FAST_HTTP_STACK))
526
#define FAST_HTTP_STK __attribute__((section("HTTP_STK_SECT")))
527
#else
528
#define FAST_HTTP_STK
529
#endif
530
#if ((defined FAST_FTP_STACK) && (!defined NO_FAST_FTP_STACK))
531
#define FAST_FTP_STK __attribute__((section("FTP_STK_SECT")))
532
#else
533
#define FAST_FTP_STK
534
#endif
535
#if ((defined FAST_WIFI_STACK) && (!defined NO_FAST_WIFI_STACK))
536
#define FAST_WIFI_STK __attribute__((section("WIFI_STK_SECT")))
537
#else
538
#define FAST_WIFI_STK
539
#endif
540
#if ((defined FAST_PPP_STACK) && (!defined NO_FAST_PPP_STACK))
541
#define FAST_PPP_STK __attribute__((section("PPP_STK_SECT")))
542
#else
543
#define FAST_PPP_STK
544
#endif
545
#if ((defined FAST_COMMAND_STACK) && (!defined NO_FAST_COMMAND_STACK))
546
#define FAST_COMMAND_STK __attribute__((section("COMMAND_STK_SECT")))
547
#else
548
#define FAST_COMMAND_STK
549
#endif
550
#if ((defined FAST_BUFFERS_VARIABLES) && (!defined NO_FAST_BUFFERS_VARIABLES))
551
#define FAST_BUFF_VAR __attribute__((section("BUFFERS_VAR_SECT")))
552
#define FAST_BUFF_VAR_REL __attribute__((section("BUFFERS_VAR_SECT_REL")))
553
#else
554
#define FAST_BUFF_VAR
555
#define FAST_BUFF_VAR_REL
556
#endif
557
#if ((defined FAST_TLS_VARIABLES) && (!defined NO_FAST_TLS_VARIABLES))
558
#define FAST_TLS_VAR __attribute__((section("TLS_VAR_SECT")))
559
#define FAST_TLS_VAR_REL __attribute__((section("TLS_VAR_SECT_REL")))
560
#else
561
#define FAST_TLS_VAR
562
#define FAST_TLS_VAR_REL
563
#endif
564
#if ((defined FAST_USB_VARIABLES) && (!defined NO_FAST_USB_VARIABLES))
565
#define FAST_USB_VAR __attribute__((section("USB_VAR_SECT")))
566
#define FAST_USB_VAR_REL __attribute__((section("USB_VAR_SECT_REL")))
567
#else
568
#define FAST_USB_VAR
569
#define FAST_USB_VAR_REL
570
#endif
571
#if ((defined FAST_USB_STACK) && (!defined NO_FAST_USB_STACK))
572
#define FAST_USB_STK __attribute__((section("USB_STK_SECT")))
573
#else
574
#define FAST_USB_STK
575
#endif
576
577
#define DO_NOT_CACHE __attribute__((section("NO_CACHE_SECT")))
578
579
#ifndef FIRST_UNUSED_TIMER
580
#define FIRST_UNUSED_TIMER (-1)
581
#endif
582
586
#ifndef NumberOfConfigWebChannels
587
#define NumberOfConfigWebChannels (12)
588
#endif
589
#ifndef ConfigActionIdleTimeout
590
#define ConfigActionIdleTimeout (TICKS_PER_SECOND * 30)
591
#endif
592
#ifndef MAX_HDR_SIZE
593
#define MAX_HDR_SIZE (256)
594
#endif
595
#ifndef MAX_CONFIG_TCP_OUTPUT_BUFFERS
596
#define MAX_CONFIG_TCP_OUTPUT_BUFFERS (40)
597
#endif
601
#ifndef NUM_DNS_CACHE
602
#define NUM_DNS_CACHE (16)
603
#endif
604
605
#endif
/* #ifndef _CONSTANTS_H */
606