Embedded TCP/IP stack  4.7.0
fnet_stack_config.h
1 /**************************************************************************
2 *
3 * Copyright 2008-2018 by Andrey Butok. FNET Community
4 *
5 ***************************************************************************
6 *
7 * Licensed under the Apache License, Version 2.0 (the "License"); you may
8 * not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
10 *
11 * http://www.apache.org/licenses/LICENSE-2.0
12 *
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
15 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 *
19 ***************************************************************************
20 *
21 * Main TCP/IP stack default configuration file.
22 *
23 ***************************************************************************/
24 
25 /************************************************************************
26  * !!!DO NOT MODIFY THIS FILE!!!
27  ************************************************************************/
28 
29 #ifndef _FNET_STACK_CONFIG_H_
30 
31 #define _FNET_STACK_CONFIG_H_
32 
33 /*****************************************************************************
34 * IP6-specific parameters.
35 ******************************************************************************/
39 /**************************************************************************/
48 #ifndef FNET_CFG_IP6
49  #define FNET_CFG_IP6 (0)
50 #endif
51 
52 /**************************************************************************/
61 #ifndef FNET_CFG_ND6_NEIGHBOR_CACHE_SIZE
62  #define FNET_CFG_ND6_NEIGHBOR_CACHE_SIZE (5u)
63 #endif
64 
65 /**************************************************************************/
70 #ifndef FNET_CFG_ND6_PREFIX_LIST_SIZE
71  #define FNET_CFG_ND6_PREFIX_LIST_SIZE (4u)
72 #endif
73 
74 /**************************************************************************/
82 #ifndef FNET_CFG_ND6_ROUTER_LIST_SIZE
83  #define FNET_CFG_ND6_ROUTER_LIST_SIZE (2u)
84 #endif
85 
86 /**************************************************************************/
97 #ifndef FNET_CFG_ND6_DAD_TRANSMITS
98  #define FNET_CFG_ND6_DAD_TRANSMITS (1u)
99 #endif
100 
101 /**************************************************************************/
110 #ifndef FNET_CFG_ND6_RDNSS
111  #define FNET_CFG_ND6_RDNSS (1)
112 #endif
113 
114 /**************************************************************************/
123 #ifndef FNET_CFG_ND6_RDNSS_LIST_SIZE
124  #define FNET_CFG_ND6_RDNSS_LIST_SIZE (3u)
125 #endif
126 
127 /**************************************************************************/
137 #ifndef FNET_CFG_IP6_FRAGMENTATION
138  #define FNET_CFG_IP6_FRAGMENTATION (1)
139 #endif
140 
141 /**************************************************************************/
148 #ifndef FNET_CFG_IP6_PMTU_DISCOVERY
149  #define FNET_CFG_IP6_PMTU_DISCOVERY (1)
150 #endif
151 
152 /**************************************************************************/
157 #ifndef FNET_CFG_NETIF_IP6_ADDR_MAX
158  #define FNET_CFG_NETIF_IP6_ADDR_MAX (5u)
159 #endif
160 
161 /**************************************************************************/
170 #ifndef FNET_CFG_MLD
171  #define FNET_CFG_MLD (0)
172 #endif
173 
174 
180 /**************************************************************************/
189 #ifndef FNET_CFG_IP4
190  #define FNET_CFG_IP4 (1)
191 #endif
192 
193 /**************************************************************************/
203 #ifndef FNET_CFG_IP4_FRAGMENTATION
204  #define FNET_CFG_IP4_FRAGMENTATION (0)
205 #endif
206 
207 /**************************************************************************/
214 #ifndef FNET_CFG_LOOPBACK_IP4_ADDR
215  #define FNET_CFG_LOOPBACK_IP4_ADDR (FNET_IP4_ADDR_INIT(127U, 0U, 0U, 1U))
216 #endif
217 
218 /**************************************************************************/
226 #ifndef FNET_CFG_IGMP
227  #define FNET_CFG_IGMP (0)
228 #endif
229 
230 /**************************************************************************/
238 #ifndef FNET_CFG_IGMP_VERSION
239  #define FNET_CFG_IGMP_VERSION (2)
240 #endif
241 
247 /*****************************************************************************
248 * TCP/IP stack general parameters.
249 ******************************************************************************/
250 
251 /**************************************************************************/
261 #ifndef FNET_CFG_ASSET
262  #define FNET_CFG_ASSET (0)
263 #endif
264 
265 /**************************************************************************/
275 #ifndef FNET_CFG_TCP
276  #define FNET_CFG_TCP (1)
277 #endif
278 
279 /**************************************************************************/
286 #ifndef FNET_CFG_LOOPBACK
287  #define FNET_CFG_LOOPBACK (0)
288 #endif
289 
290 /**************************************************************************/
295 #ifndef FNET_CFG_LOOPBACK_NAME
296  #define FNET_CFG_LOOPBACK_NAME "loop"
297 #endif
298 
299 /**************************************************************************/
310 #ifndef FNET_CFG_LOOPBACK_MULTICAST
311  #define FNET_CFG_LOOPBACK_MULTICAST (0)
312 #endif
313 
314 /**************************************************************************/
325 #ifndef FNET_CFG_LOOPBACK_BROADCAST
326  #define FNET_CFG_LOOPBACK_BROADCAST (0)
327 #endif
328 
329 /**************************************************************************/
335 #ifndef FNET_CFG_LOOPBACK_MTU
336  #define FNET_CFG_LOOPBACK_MTU (1576U)
337 #endif
338 
339 /**************************************************************************/
348 #ifndef FNET_CFG_MULTICAST
349  #define FNET_CFG_MULTICAST (1)
350 #endif
351 
352 /**************************************************************************/
360 #ifndef FNET_CFG_MULTICAST_MAX
361  #define FNET_CFG_MULTICAST_MAX (10u)
362 #endif
363 
364 /**************************************************************************/
371 #ifndef FNET_CFG_MULTICAST_SOCKET_MAX
372  #define FNET_CFG_MULTICAST_SOCKET_MAX (1u)
373 #endif
374 
375 /**************************************************************************/
380 #ifndef FNET_CFG_ARP_TABLE_SIZE
381  #define FNET_CFG_ARP_TABLE_SIZE (10U)
382 #endif
383 
384 /**************************************************************************/
391 #ifndef FNET_CFG_ARP_EXPIRE_TIMEOUT
392  #define FNET_CFG_ARP_EXPIRE_TIMEOUT (1200U)
393 #endif
394 
395 /**************************************************************************/
404 #ifndef FNET_CFG_TCP_DISCARD_OUT_OF_ORDER
405  #define FNET_CFG_TCP_DISCARD_OUT_OF_ORDER (0)
406 #endif
407 
408 /**************************************************************************/
416 #ifndef FNET_CFG_TCP_URGENT
417  #define FNET_CFG_TCP_URGENT (0)
418 #endif
419 
420 /**************************************************************************/
430 #ifndef FNET_CFG_UDP
431  #define FNET_CFG_UDP (1)
432 #endif
433 
434 /**************************************************************************/
446 #ifndef FNET_CFG_UDP_CHECKSUM
447  #define FNET_CFG_UDP_CHECKSUM (1)
448 #endif
449 
450 /**************************************************************************/
457 #ifndef FNET_CFG_RAW
458  #define FNET_CFG_RAW (1)
459 #endif
460 
461 
462 /*****************************************************************************
463 * TCP/IP stack parameters.
464 ******************************************************************************/
465 
466 /**************************************************************************/
476 #ifndef FNET_CFG_MULTITHREADING
477  #define FNET_CFG_MULTITHREADING (0)
478 #endif
479 
480 /**************************************************************************/
485 #ifndef FNET_CFG_SOCKET_MAX
486  #define FNET_CFG_SOCKET_MAX (12U)
487 #endif
488 
489 /**************************************************************************/
496 #ifndef FNET_CFG_SOCKET_BSD_NAMES
497  #define FNET_CFG_SOCKET_BSD_NAMES (1)
498 #endif
499 
500 /**************************************************************************/
511 #ifndef FNET_CFG_SOCKET_CALLBACK_ON_RX
512  #define FNET_CFG_SOCKET_CALLBACK_ON_RX (0U)
513 #endif
514 
515 /**************************************************************************/
540 #ifndef FNET_CFG_SOCKET_TCP_MSS
541  #define FNET_CFG_SOCKET_TCP_MSS (0u)
542 #endif
543 
544 /**************************************************************************/
551 #ifndef FNET_CFG_SOCKET_TCP_TX_BUF_SIZE
552  #define FNET_CFG_SOCKET_TCP_TX_BUF_SIZE (2U * 1024U)
553 #endif
554 
555 /**************************************************************************/
562 #ifndef FNET_CFG_SOCKET_TCP_RX_BUF_SIZE
563  #define FNET_CFG_SOCKET_TCP_RX_BUF_SIZE (2U * 1024U)
564 #endif
565 
566 /**************************************************************************/
573 #ifndef FNET_CFG_SOCKET_UDP_TX_BUF_SIZE
574  #define FNET_CFG_SOCKET_UDP_TX_BUF_SIZE (2U * 1024U)
575 #endif
576 
577 /**************************************************************************/
584 #ifndef FNET_CFG_SOCKET_UDP_RX_BUF_SIZE
585  #define FNET_CFG_SOCKET_UDP_RX_BUF_SIZE (2U * 1024U)
586 #endif
587 
588 /**************************************************************************/
595 #ifndef FNET_CFG_SOCKET_RAW_TX_BUF_SIZE
596  #define FNET_CFG_SOCKET_RAW_TX_BUF_SIZE (2U * 1024U)
597 #endif
598 
599 /**************************************************************************/
606 #ifndef FNET_CFG_SOCKET_RAW_RX_BUF_SIZE
607  #define FNET_CFG_SOCKET_RAW_RX_BUF_SIZE (2U * 1024U)
608 #endif
609 
610 /**************************************************************************/
617 #ifndef FNET_CFG_IP_MAX_PACKET
618  #define FNET_CFG_IP_MAX_PACKET (10U*1024U)
619 #endif
620 
621 /**************************************************************************/
631 #ifndef FNET_CFG_TIMER_ALT
632  #define FNET_CFG_TIMER_ALT (0)
633 #endif
634 
635 /**************************************************************************/
645 #ifndef FNET_CFG_TIME
646  #define FNET_CFG_TIME (0)
647 #endif
648 
649 /**************************************************************************/
656 #ifndef FNET_CFG_ASSERT
657  #define FNET_CFG_ASSERT (0U)
658 #endif
659 
660 /*****************************************************************************
661  * Function Overload
662  *****************************************************************************/
663 #ifndef FNET_CFG_OVERLOAD_CHECKSUM_LOW
664  #define FNET_CFG_OVERLOAD_CHECKSUM_LOW (0)
665 #endif
666 
667 /**************************************************************************/
679 #ifndef FNET_CFG_OVERLOAD_MEMCPY
680  #define FNET_CFG_OVERLOAD_MEMCPY (0)
681 #endif
682 
683 /* IPv4 and/or IPv6 must enaqbled.*/
684 #if !FNET_CFG_IP4 && !FNET_CFG_IP6
685  #error "Please enable IPv4 or/and IPv6, by FNET_CFG_IP4 or/and FNET_CFG_IP6."
686 #endif
687 
688 /*****************************************************************************
689  * DEBUGING INFO OUTPUT
690  *****************************************************************************/
691 
692 /**************************************************************************/
699 #ifndef FNET_CFG_DEBUG
700  #define FNET_CFG_DEBUG (0)
701 #endif
702 
703 #ifndef FNET_CFG_DEBUG_AUTOIP
704  #define FNET_CFG_DEBUG_AUTOIP (0)
705 #endif
706 
707 #ifndef FNET_CFG_DEBUG_TIMER /* It will be printed to the UART '!' sign every second. */
708  #define FNET_CFG_DEBUG_TIMER (0)
709 #endif
710 
711 #ifndef FNET_CFG_DEBUG_HTTP
712  #define FNET_CFG_DEBUG_HTTP (0)
713 #endif
714 
715 #ifndef FNET_CFG_DEBUG_DHCP_CLN
716  #define FNET_CFG_DEBUG_DHCP_CLN (0)
717 #endif
718 
719 #ifndef FNET_CFG_DEBUG_DHCP_SRV
720  #define FNET_CFG_DEBUG_DHCP_SRV (0)
721 #endif
722 
723 #ifndef FNET_CFG_DEBUG_ARP
724  #define FNET_CFG_DEBUG_ARP (0)
725 #endif
726 
727 #ifndef FNET_CFG_DEBUG_MEMPOOL
728  #define FNET_CFG_DEBUG_MEMPOOL (0)
729 #endif
730 
731 #ifndef FNET_CFG_DEBUG_TFTP_CLN
732  #define FNET_CFG_DEBUG_TFTP_CLN (0)
733 #endif
734 
735 #ifndef FNET_CFG_DEBUG_TFTP_SRV
736  #define FNET_CFG_DEBUG_TFTP_SRV (0)
737 #endif
738 
739 #ifndef FNET_CFG_DEBUG_STACK
740  #define FNET_CFG_DEBUG_STACK (0)
741 #endif
742 
743 #ifndef FNET_CFG_DEBUG_TELNET
744  #define FNET_CFG_DEBUG_TELNET (0)
745 #endif
746 
747 #ifndef FNET_CFG_DEBUG_SHELL
748  #define FNET_CFG_DEBUG_SHELL (0)
749 #endif
750 
751 #ifndef FNET_CFG_DEBUG_DNS
752  #define FNET_CFG_DEBUG_DNS (0)
753 #endif
754 
755 #ifndef FNET_CFG_DEBUG_DNS
756  #define FNET_CFG_DEBUG_DNS (0)
757 #endif
758 
759 #ifndef FNET_CFG_DEBUG_AZURE
760  #define FNET_CFG_DEBUG_AZURE (0)
761 #endif
762 
763 #ifndef FNET_CFG_DEBUG_IP6
764  #define FNET_CFG_DEBUG_IP6 (0)
765 #endif
766 
767 #ifndef FNET_CFG_DEBUG_LINK
768  #define FNET_CFG_DEBUG_LINK (0)
769 #endif
770 
771 #ifndef FNET_CFG_DEBUG_LLMNR
772  #define FNET_CFG_DEBUG_LLMNR (0)
773 #endif
774 
775 #ifndef FNET_CFG_DEBUG_MDNS
776  #define FNET_CFG_DEBUG_MDNS (0)
777 #endif
778 
779 #ifndef FNET_CFG_DEBUG_PING
780  #define FNET_CFG_DEBUG_PING (0)
781 #endif
782 
783 #ifndef FNET_CFG_DEBUG_SNTP
784  #define FNET_CFG_DEBUG_SNTP (0)
785 #endif
786 
787 #ifndef FNET_CFG_DEBUG_QCA
788  #define FNET_CFG_DEBUG_QCA (0)
789 #endif
790 
791 #ifndef FNET_CFG_DEBUG_ENET
792  #define FNET_CFG_DEBUG_ENET (0)
793 #endif
794 
795 #ifndef FNET_CFG_DEBUG_TRACE
796  #define FNET_CFG_DEBUG_TRACE (0)
797 #endif
798 
799 #ifndef FNET_CFG_DEBUG_TRACE_IP4
800  #define FNET_CFG_DEBUG_TRACE_IP4 (0)
801 #endif
802 
803 #ifndef FNET_CFG_DEBUG_TRACE_ICMP4
804  #define FNET_CFG_DEBUG_TRACE_ICMP4 (0)
805 #endif
806 
807 #ifndef FNET_CFG_DEBUG_TRACE_IGMP
808  #define FNET_CFG_DEBUG_TRACE_IGMP (0)
809 #endif
810 
811 #ifndef FNET_CFG_DEBUG_TRACE_ETH
812  #define FNET_CFG_DEBUG_TRACE_ETH (0)
813 #endif
814 
815 #ifndef FNET_CFG_DEBUG_TRACE_ARP
816  #define FNET_CFG_DEBUG_TRACE_ARP (0)
817 #endif
818 
819 #ifndef FNET_CFG_DEBUG_TRACE_UDP
820  #define FNET_CFG_DEBUG_TRACE_UDP (0)
821 #endif
822 
823 #ifndef FNET_CFG_DEBUG_TRACE_TCP
824  #define FNET_CFG_DEBUG_TRACE_TCP (0)
825 #endif
826 
827 /******************************************************************************
828  * Obsolete configuration parameters
829  ******************************************************************************/
830 #ifdef FNET_CFG_ETH_IP4_ADDR
831  #error "FNET_CFG_ETH_IP4_ADDR parameter is obsolete. It is user application parameter now."
832 #endif
833 #ifdef FNET_CFG_ETH_IP4_MASK
834  #error "FNET_CFG_ETH_IP4_MASK parameter is obsolete. It is user application parameter now."
835 #endif
836 #ifdef FNET_CFG_ETH_IP4_GW
837  #error "FNET_CFG_ETH_IP4_GW parameter is obsolete. It is user application parameter now."
838 #endif
839 #ifdef FNET_CFG_ETH_IP4_DNS
840  #error "FNET_CFG_ETH_IP4_DNS parameter is obsolete. It is user application parameter now."
841 #endif
842 #ifdef FNET_CFG_ETH_MAC_ADDR
843  #error "FNET_CFG_ETH_MAC_ADDR parameter is obsolete. It is user application parameter now."
844 #endif
845 #ifdef FNET_CFG_ETH
846  #error "FNET_CFG_ETH parameter is obsolete."
847 #endif
848 #ifdef FNET_CFG_ETH_MTU
849  #error "FNET_CFG_ETH_MTU parameter is obsolete."
850 #endif
851 #ifdef FNET_CFG_ETH0_IP4_ADDR
852  #error "FNET_CFG_ETH0_IP4_ADDR parameter is obsolete. It is user application parameter now."
853 #endif
854 #ifdef FNET_CFG_ETH0_IP4_MASK
855  #error "FNET_CFG_ETH0_IP4_MASK parameter is obsolete. It is user application parameter now."
856 #endif
857 #ifdef FNET_CFG_ETH0_IP4_GW
858  #error "FNET_CFG_ETH0_IP4_GW parameter is obsolete. It is user application parameter now."
859 #endif
860 #ifdef FNET_CFG_ETH0_IP4_DNS
861  #error "FNET_CFG_ETH0_IP4_DNS parameter is obsolete. It is user application parameter now."
862 #endif
863 #ifdef FNET_CFG_ETH1_IP4_ADDR
864  #error "FNET_CFG_ETH1_IP4_ADDR parameter is obsolete. It is user application parameter now."
865 #endif
866 #ifdef FNET_CFG_ETH1_IP4_MASK
867  #error "FNET_CFG_ETH1_IP4_MASK parameter is obsolete. It is user application parameter now."
868 #endif
869 #ifdef FNET_CFG_ETH1_IP4_GW
870  #error "FNET_CFG_ETH1_IP4_GW parameter is obsolete. It is user application parameter now."
871 #endif
872 #ifdef FNET_CFG_ETH1_IP4_DNS
873  #error "FNET_CFG_ETH1_IP4_DNS parameter is obsolete. It is user application parameter now."
874 #endif
875 #ifdef FNET_CFG_DEFAULT_IF
876  #error "FNET_CFG_DEFAULT_IF parameter is obsolete. It is user application parameter now."
877 #endif
878 #ifdef FNET_CFG_HEAP_SIZE
879  #error "FNET_CFG_HEAP_SIZE parameter is obsolete. It is user application parameter now."
880 #endif
881 
884 #endif

© 2005-2020 by Andrej Butok. http://fnet.sourceforge.net