NetBurner 3.5.8
PDF Version
Toggle main menu visibility
constants.h
1
/*NB_REVISION*/
2
3
/*NB_COPYRIGHT*/
4
9
17
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
95
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
127
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
167
168
/* Features */
169
#ifndef SSH_TASK_PRIORITY
170
#define SSH_TASK_PRIORITY (56)
171
#endif
172
174
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 */
239
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_BODY_IDLE_TIMEOUT
293
#define HTTP_BODY_IDLE_TIMEOUT (TICKS_PER_SECOND * 4)
294
#endif
295
#ifndef HTTP_RX_BUFFERSIZE
296
#define HTTP_RX_BUFFERSIZE (10000)
297
#endif
298
#ifndef MAX_HTTP_PENDING_SOCKETS
299
#define MAX_HTTP_PENDING_SOCKETS (5)
300
#endif
301
#ifndef MAX_HTTP_CONNECTED_SOCKETS
302
#define MAX_HTTP_CONNECTED_SOCKETS (5)
303
#endif
304
#ifndef MAX_HTTP_POST_VAR_NAME_SIZE
305
#define MAX_HTTP_POST_VAR_NAME_SIZE (256)
306
#endif
307
#ifndef MAX_HTTP_POST_VAR_VALUE_SIZE
308
#define MAX_HTTP_POST_VAR_VALUE_SIZE (256)
309
#endif
310
311
312
#ifndef DHCP_DEFAULTTIMEOUT
313
#define DHCP_DEFAULTTIMEOUT (4)
314
#endif
315
#ifndef DHCP_DEFAULTRETRY
316
#define DHCP_DEFAULTRETRY (5)
317
#endif
318
#ifndef DHCP_MAXTIMEOUT
319
#define DHCP_MAXTIMEOUT (64)
320
#endif
322
339
340
#ifndef SERIAL_SOCKET_OFFSET
341
#define SERIAL_SOCKET_OFFSET (3)
342
#endif
343
#ifndef TCP_SOCKET_OFFSET
344
#define TCP_SOCKET_OFFSET (5)
345
#endif
346
#ifndef TCP_SOCKET_STRUCTS
347
#define TCP_SOCKET_STRUCTS (128)
348
#endif
349
#ifndef EXTRA_IO_OFFSET
350
#define EXTRA_IO_OFFSET (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS)
351
#endif
352
#ifndef EXTRA_FDS
353
#define EXTRA_FDS (122)
354
#endif
355
#ifndef TOTAL_FDS
356
#define TOTAL_FDS (TCP_SOCKET_OFFSET + TCP_SOCKET_STRUCTS + EXTRA_FDS)
357
#endif
358
#ifndef FDSET_ELEMENTS
359
#define FDSET_ELEMENTS ((TOTAL_FDS) / 32 + ((TOTAL_FDS/32*32)!=TOTAL_FDS))
360
#endif
362
363
#ifndef WS_MAX_SOCKS
364
#define WS_MAX_SOCKS (4)
365
#endif
366
#ifndef RC_WS_MAX_SOCKS
367
#define RC_WS_MAX_SOCKS (4)
368
#endif
369
370
#ifndef TASK_TABLE_SIZE
371
#define TASK_TABLE_SIZE (OS_MAX_PRIOS/32 + ((OS_MAX_PRIOS/32*32)!= OS_MAX_PRIOS))
372
#endif
373
374
#ifndef MAX_IP_ERRS
375
#define MAX_IP_ERRS (3)
376
#endif
377
378
#ifndef BUFFER_POOL_SIZE
379
#define BUFFER_POOL_SIZE (256)
380
#endif
381
#ifndef POOL_BUFFER_SIZE
382
#define POOL_BUFFER_SIZE (sizeof(pool_buffer))
383
#endif
384
#ifndef UDP_DISPATCH_SIZE
385
#define UDP_DISPATCH_SIZE (15)
386
#endif
387
#ifndef UDP_MIN_BUFFER_THRESHOLD
388
#define UDP_MIN_BUFFER_THRESHOLD (10)
389
#endif
390
#ifndef ARP_ENTRY_SIZE
391
#define ARP_ENTRY_SIZE (256)
392
#endif
393
394
#ifndef UDP_NETBURNERID_PORT
395
#define UDP_NETBURNERID_PORT (0x4E42)
396
#endif
397
#ifndef UDP_DHCP_SERVER_PORT
398
#define UDP_DHCP_SERVER_PORT (67)
399
#endif
400
#ifndef UDP_DHCP_CLIENT_PORT
401
#define UDP_DHCP_CLIENT_PORT (68)
402
#endif
403
#ifndef UDP_MDNS_PORT
404
#define UDP_MDNS_PORT (5353)
405
#endif
406
407
#ifndef TFTP_RX_PORT
408
#define TFTP_RX_PORT (1414)
409
#endif
410
411
#ifndef LINK_STATUS_CHECK_INTERVAL
412
#define LINK_STATUS_CHECK_INTERVAL (2 * TICKS_PER_SECOND)
413
#endif
414
415
#ifndef FTPD_SOCKET_TIMEOUT
416
#define FTPD_SOCKET_TIMEOUT (5 * 60 * TICKS_PER_SECOND)
417
#endif
418
419
420
#ifndef _DEBUG
421
#define ENABLE_SRAM_SYS
422
#endif
423
430
#if ((defined ENABLE_SRAM_SYS) && (!defined NO_ENABLE_SRAM_SYS))
431
#define FAST_SYSTEM_VARIABLES
432
437
//#define FAST_IDLE_STACK ///< @b
438
#define FAST_MAIN_STACK
439
#define FAST_ETHERNET_VARIABLES
440
#define FAST_ETHERNET_STACK
441
#define FAST_BUFFERS_VARIABLES
442
#define FAST_BUFFERS
443
#define FAST_IP_VARIABLES
444
#define FAST_IP_STACK
445
#define FAST_TCP_VARIABLES
446
#define FAST_TCP_STACK
447
#define FAST_USB_VARIABLES
448
#define FAST_USB_STACK
449
#define FAST_HTTP_STACK
450
//#define FAST_FTP_STACK ///< @b
451
//#define FAST_WIFI_STACK ///< @b
452
//#define FAST_PPP_STACK ///< @b
453
//#define FAST_COMMAND_STACK ///< @b
455
461
#define FAST_USER_VARIABLES
462
#define FAST_USER_STACK
463
464
#define FAST_TLS_VARIABLES
466
467
#endif
469
470
#if ((defined FAST_SYSTEM_VARIABLES) && (!defined NO_FAST_SYSTEM_VARIABLES))
471
#define FAST_SYS_VAR __attribute__((section("SYS_VAR_SECT")))
472
#define FAST_SYS_VAR_REL __attribute__((section("SYS_VAR_SECT_REL")))
473
#define FAST_SYS_VAR_REL_STR __attribute__((section("SYS_VAR_SECT_REL_STR")))
474
#else
475
#define FAST_SYS_VAR
476
#define FAST_SYS_VAR_REL
477
#define FAST_SYS_VAR_REL_STR
478
#endif
479
#if ((defined FAST_IDLE_STACK) && (!defined NO_FAST_IDLE_STACK))
480
#define FAST_IDLE_STK __attribute__((section("IDLE_STK_SECT")))
481
#else
482
#define FAST_IDLE_STK
483
#endif
484
#if ((defined FAST_MAIN_STACK) && (!defined NO_FAST_MAIN_STACK))
485
#define FAST_MAIN_STK __attribute__((section("MAIN_STK_SECT")))
486
#else
487
#define FAST_MAIN_STK
488
#endif
489
#if ((defined FAST_USER_STACK) && (!defined NO_FAST_USER_STACK))
490
#define FAST_USER_STK __attribute__((section("USER_STK_SECT")))
491
#else
492
#define FAST_USER_STK
493
#endif
494
#if ((defined FAST_USER_VARIABLES) && (!defined NO_FAST_USER_VARIABLES))
495
#define FAST_USER_VAR __attribute__((section("USER_VAR_SECT")))
496
#else
497
#define FAST_USER_VAR
498
#endif
499
#if ((defined FAST_ETHERNET_VARIABLES) && (!defined NO_FAST_ETHERNET_VARIABLES))
500
#define FAST_ETHER_VAR __attribute__((section("ETHER_VAR_SECT")))
501
#define FAST_ETHER_VAR_REL __attribute__((section("ETHER_VAR_SECT_REL")))
502
#else
503
#define FAST_ETHER_VAR
504
#define FAST_ETHER_VAR_REL
505
#endif
506
#if ((defined FAST_ETHERNET_STACK) && (!defined NO_FAST_ETHERNET_STACK))
507
#define FAST_ETHER_STK __attribute__((section("ETHER_STK_SECT")))
508
#else
509
#define FAST_ETHER_STK
510
#endif
511
#if ((defined FAST_IP_VARIABLES) && (!defined NO_FAST_IP_VARIABLES))
512
#define FAST_IP_VAR __attribute__((section("IP_VAR_SECT")))
513
#define FAST_IP_VAR_REL __attribute__((section("IP_VAR_SECT_REL")))
514
#else
515
#define FAST_IP_VAR
516
#define FAST_IP_VAR_REL
517
#endif
518
#if ((defined FAST_IP_STACK) && (!defined NO_FAST_IP_STACK))
519
#define FAST_IP_STK __attribute__((section("IP_STK_SECT")))
520
#else
521
#define FAST_IP_STK
522
#endif
523
#if ((defined FAST_TCP_VARIABLES) && (!defined NO_FAST_TCP_VARIABLES))
524
#define FAST_TCP_VAR __attribute__((section("TCP_VAR_SECT")))
525
#define FAST_TCP_VAR_REL __attribute__((section("TCP_VAR_SECT_REL")))
526
#else
527
#define FAST_TCP_VAR
528
#define FAST_TCP_VAR_REL
529
#endif
530
#if ((defined FAST_TCP_STACK) && (!defined NO_FAST_TCP_STACK))
531
#define FAST_TCP_STK __attribute__((section("TCP_STK_SECT")))
532
#else
533
#define FAST_TCP_STK
534
#endif
535
#if ((defined FAST_HTTP_STACK) && (!defined NO_FAST_HTTP_STACK))
536
#define FAST_HTTP_STK __attribute__((section("HTTP_STK_SECT")))
537
#else
538
#define FAST_HTTP_STK
539
#endif
540
#if ((defined FAST_FTP_STACK) && (!defined NO_FAST_FTP_STACK))
541
#define FAST_FTP_STK __attribute__((section("FTP_STK_SECT")))
542
#else
543
#define FAST_FTP_STK
544
#endif
545
#if ((defined FAST_WIFI_STACK) && (!defined NO_FAST_WIFI_STACK))
546
#define FAST_WIFI_STK __attribute__((section("WIFI_STK_SECT")))
547
#else
548
#define FAST_WIFI_STK
549
#endif
550
#if ((defined FAST_PPP_STACK) && (!defined NO_FAST_PPP_STACK))
551
#define FAST_PPP_STK __attribute__((section("PPP_STK_SECT")))
552
#else
553
#define FAST_PPP_STK
554
#endif
555
#if ((defined FAST_COMMAND_STACK) && (!defined NO_FAST_COMMAND_STACK))
556
#define FAST_COMMAND_STK __attribute__((section("COMMAND_STK_SECT")))
557
#else
558
#define FAST_COMMAND_STK
559
#endif
560
#if ((defined FAST_BUFFERS_VARIABLES) && (!defined NO_FAST_BUFFERS_VARIABLES))
561
#define FAST_BUFF_VAR __attribute__((section("BUFFERS_VAR_SECT")))
562
#define FAST_BUFF_VAR_REL __attribute__((section("BUFFERS_VAR_SECT_REL")))
563
#else
564
#define FAST_BUFF_VAR
565
#define FAST_BUFF_VAR_REL
566
#endif
567
#if ((defined FAST_TLS_VARIABLES) && (!defined NO_FAST_TLS_VARIABLES))
568
#define FAST_TLS_VAR __attribute__((section("TLS_VAR_SECT")))
569
#define FAST_TLS_VAR_REL __attribute__((section("TLS_VAR_SECT_REL")))
570
#else
571
#define FAST_TLS_VAR
572
#define FAST_TLS_VAR_REL
573
#endif
574
#if ((defined FAST_USB_VARIABLES) && (!defined NO_FAST_USB_VARIABLES))
575
#define FAST_USB_VAR __attribute__((section("USB_VAR_SECT")))
576
#define FAST_USB_VAR_REL __attribute__((section("USB_VAR_SECT_REL")))
577
#else
578
#define FAST_USB_VAR
579
#define FAST_USB_VAR_REL
580
#endif
581
#if ((defined FAST_USB_STACK) && (!defined NO_FAST_USB_STACK))
582
#define FAST_USB_STK __attribute__((section("USB_STK_SECT")))
583
#else
584
#define FAST_USB_STK
585
#endif
586
587
#define DO_NOT_CACHE __attribute__((section("NO_CACHE_SECT")))
588
589
#ifndef FIRST_UNUSED_TIMER
590
#define FIRST_UNUSED_TIMER (-1)
591
#endif
592
596
#ifndef NumberOfConfigWebChannels
597
#define NumberOfConfigWebChannels (12)
598
#endif
599
#ifndef ConfigActionIdleTimeout
600
#define ConfigActionIdleTimeout (TICKS_PER_SECOND * 30)
601
#endif
602
#ifndef MAX_HDR_SIZE
603
#define MAX_HDR_SIZE (256)
604
#endif
605
#ifndef MAX_CONFIG_TCP_OUTPUT_BUFFERS
606
#define MAX_CONFIG_TCP_OUTPUT_BUFFERS (40)
607
#endif
609
610
611
#ifndef NUM_DNS_CACHE
612
#define NUM_DNS_CACHE (16)
613
#endif
614
615
#endif
/* #ifndef _CONSTANTS_H */
616
617
#include <constants-overload-undefs.h>
nbrtos
include
constants.h
Generated by
1.18.0