net.cdl

来自「ecos实时嵌入式操作系统」· CDL 代码 · 共 655 行 · 第 1/2 页

CDL
655
字号
# ====================================================================##      net.cdl##      Networking configuration data## ====================================================================#####ECOSPDCOPYRIGHTBEGIN###### Copyright (C) 2000, 2001, 2002 Red Hat, Inc.# All Rights Reserved.## Permission is granted to use, copy, modify and redistribute this# file.######ECOSPDCOPYRIGHTEND##### ====================================================================######DESCRIPTIONBEGIN###### Author(s):      gthomas# Original data:  gthomas# Contributors:# Date:           1999-11-29######DESCRIPTIONEND###### ====================================================================cdl_package CYGPKG_NET {    display       "Basic networking framework"    doc           ref/net-common-tcpip.html    include_dir   .    requires      CYGPKG_IO    requires      CYGPKG_ISOINFRA    requires      CYGINT_ISO_C_TIME_TYPES    requires      CYGINT_ISO_STRERROR    requires      CYGINT_ISO_ERRNO    requires      CYGINT_ISO_ERRNO_CODES    requires      CYGINT_ISO_MALLOC    requires      CYGINT_ISO_STRING_BSD_FUNCS    description   "Basic networking support, including TCP/IP."    cdl_interface     CYGPKG_NET_DRIVER_FRAMEWORK {        display   "Suitable driver framework interface, used by network package"        description "          In order to decouple the network stack from driver specifics, the          driver framework must be defined in a separate package."    }    # Commonly exported infrastructure    implements    CYGINT_ISO_NETDB_PROTO    implements    CYGINT_ISO_NETDB_SERV    requires      { CYGBLD_ISO_NETDB_PROTO_HEADER == "<net/netdb.h>" }    requires      { CYGBLD_ISO_NETDB_SERV_HEADER == "<net/netdb.h>" }    cdl_interface CYGPKG_NET_STACK {        display   "Suitable network stack implementation, used by network package"        description "          In order to decouple the network support from most stack specifics, the          actual stack implementation must be defined in a separate package."    }    requires      { CYGPKG_NET_STACK == 1 }    define_proc {        puts $::cdl_header "#include <pkgconf/system.h>"        puts $::cdl_header "#include CYGDAT_NET_STACK_CFG"    }    cdl_interface CYGPKG_NET_STACK_INET {        display   "Network stack support for IPv4"    }    cdl_interface CYGPKG_NET_STACK_INET6 {        display   "Network stack support for IPv6"    }    cdl_component CYGPKG_NET_INET {        display       "INET support"        active_if     CYGPKG_NET_STACK_INET        flavor        bool        no_define        default_value 1        description   "            This option enables support for INET (IP) network processing."        define INET        compile \            inet_addr.c \            inet_ntoa.c \            inet_ntop.c \            inet_pton.c \            bootp_support.c \            dhcp_support.c \            dhcp_prot.c \            network_support.c \            getproto.c \            getserv.c         compile   getaddrinfo.c \            ifaddrs.c        cdl_option CYGPKG_NET_INET6 {            display       "IPv6 support"            active_if     CYGPKG_NET_STACK_INET6            requires      CYGINT_IO_ETH_MULTICAST            flavor        bool            default_value 0            description   "                This option enables support for IPv6 networks."            define INET6        }        cdl_option CYGSEM_NET_ROUTING {            display "Multicast routing support"            flavor  bool            no_define            default_value 0            description   "                This option enables support for packet routing."            define MROUTING        }        cdl_option CYGSEM_NET_RANDOMID {            display "Use random sequence for IP packet identifiers"            flavor  bool            no_define            default_value 0            description   "                This option enables the use of random IP packet sequence            identifiers, rather than a purely sequential sequence.  It is            believed that use of random identifiers improves security, at            a fairly substantial computational overhead."            define RANDOM_IP_ID        }    }    cdl_component CYGPKG_NET_TFTP {        display        "TFTP (RFC-1350) support"        requires       CYGPKG_NET_INET        flavor         bool        default_value  1        compile        tftp_client.c \                       tftp_server.c        description    "          This option provides additional library support for          the TFTP (Trivial File Transfer Protocol)."        cdl_option CYGPKG_NET_TFTPD_THREAD_PRIORITY {            display "Priority level for TFTP daemon thread."            flavor  data            default_value 10            description   "            This option allows the thread priority level used by the            TFTP server thread to be adjusted by the user.  It should be set            high enough that sufficient CPU resources are available to            process network data, but may be adjusted so that application            threads can have precedence over TFTP server processing."        }        cdl_option CYGPKG_NET_TFTP_FILE_ACCESS {            display       "File I/O functions for TFTP server"            flavor        bool            default_value 1            compile       tftp_dummy_file.c            description   "              Minimal in-memory file I/O support for TFTP server."        }    }    cdl_component CYGPKG_NET_DHCP {        display "Use full DHCP instead of BOOTP"        requires       CYGPKG_NET_INET        active_if (CYGHWR_NET_DRIVERS > 0)        flavor bool        default_value 1        description "            Provide DHCP for initializing the IP address            of network interfaces.  The DHCP client is capable of falling            back to BOOTP usage if the server does not support DHCP, so it            should never be necessary to disable this option.  However,            depending on other configuration the DHCP client may provide or            require a kernel thread of its own; this consumes quite a lot            of resource which a BOOTP solution does not require."        cdl_option CYGOPT_NET_DHCP_DHCP_THREAD {            display "DHCP management thread"            flavor bool            default_value 1            description "                Provide a separate thread to renew DHCP leases; otherwise                the application MUST periodically examine the semaphore                dhcp_needs_attention and call dhcp_bind() if it is                signalled.  If enabled, this thread does all that for you.                Independent of this option, initialization of the                interfaces still occurs in init_all_network_interfaces()                and your startup code must call that.  It will start the                DHCP management thread if necessary.  If a lease fails to                be renewed, the management thread will shut down all                interfaces and attempt to initialize all the interfaces                again from scratch.  This may cause application problems,                in which case managing the DHCP state in an application                aware thread is recommended.  See comments in dhcp.h"        }        cdl_option CYGOPT_NET_DHCP_DHCP_THREAD_PARAM {            display "DHCP management thread loops forever"            flavor  data            default_value 1            active_if CYGOPT_NET_DHCP_DHCP_THREAD            description "                If the parameter is nonzero, it loops forever; if zero,                the thread exits if a lease expires, and the application                must detect this and tidy up or reboot the whole machine."        }        cdl_option CYGPKG_NET_DHCP_THREAD_PRIORITY {            display "DHCP management thread priority"            flavor  data            default_value CYGPKG_NET_THREAD_PRIORITY + 1            active_if CYGOPT_NET_DHCP_DHCP_THREAD            description "            This option sets the thread priority level used by the DHCP            management thread.  It should be high enough that it can run            when necessary, but it does not need to be as high as the            network thread itself."        }    }    cdl_component CYGPKG_NET_IPV6_ROUTING {        display       "Options controlling IPv6 routing"        active_if     CYGPKG_NET_INET6        flavor        bool        default_value 1        description "            Various options which control how routing is done for the            IPv6 enabled interfaces."        cdl_component CYGOPT_NET_IPV6_ROUTING_THREAD {            display       "Thread for IPv6 routing"            flavor        bool            default_value 1            description "                Provide a separate thread to send router solicitation                messages."            compile ipv6_routing_thread.c            cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PRIORITY {                display       "IPv6 routing thread priority"                flavor        data                default_value CYGPKG_NET_THREAD_PRIORITY + 1                description "                    This option sets the thread priority level used by the IPv6                    routing thread.  It should be high enough that it can run                    when necessary, but it does not need to be as high as the                    network thread itself."            }            cdl_option CYGINT_NET_IPV6_ROUTING_THREAD_PERIOD {                display       "IPv6 routing thread rate"                flavor        data                default_value 5*60                description "                    This option sets the rate at which router solicitations will                    be sent out by the routing thread (in seconds)."            }        }    }    cdl_component CYGPKG_NET_DEBUG {        display       "Debug output"        default_value 0         description   "                This component controls whether there is diagnostic output                for stack operations. Options within this component allow                even more verbose output for certain areas."        cdl_option CYGDBG_NET_DHCP_CHATTER {                display       "Extra debug output for DHCP"                default_value 0        }    }    cdl_option CYGDBG_NET_TIMING_STATS {        display       "Network timing statistics"        default_value 0        description   "                This component controls whether there is diagnostic                 information about how long memcpy, malloc, mbuf_alloc                etc take to perform."    }    cdl_component CYGPKG_NET_OPTIONS {        display "Networking support build options"        flavor  none        no_define        cdl_option CYGPKG_NET_CFLAGS_ADD {            display "Additional compiler flags"            flavor  data            no_define            default_value { "-D_KERNEL -D__ECOS -D__INSIDE_NET" }            description   "                This option modifies the set of compiler flags for                building the networking package.                These flags are used in addition                to the set of global flags."        }        cdl_option CYGPKG_NET_CFLAGS_REMOVE {            display "Suppressed compiler flags"            flavor  data            no_define            default_value { "" }            description   "                This option modifies the set of compiler flags for                building the networking package. These flags are removed from                the set of global flags if present."        }    }    cdl_component CYGPKG_NET_BUILD_TESTS {        display "Testing options"        flavor  none        no_define        description "                This component contains options related to testing the network                stack."        cdl_option CYGPKG_NET_BUILD_HW_TESTS {            display "Build hardware networking tests (demo programs)"

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?