📄 net.cdl
字号:
# ====================================================================
#
# 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_interface CYGPKG_NET_STACK_IPSEC {
display "Network stack support for IPSEC"
}
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 CYGPKG_NET_IPSEC {
display "IPSEC support"
active_if CYGPKG_NET_STACK_IPSEC
flavor bool
default_value 1
description "
This option enables support for IPSEC"
define IPSEC
define IPSEC_ESP
}
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_component CYGSEM_NET_TFTPD_MULTITHREADED {
display "Multiple TFTPD server threads on the same port."
flavor bool
default_value 1
description "
This option controls the tftp server ability to be
multi-threaded. When enabled, multiple server can be
started on the same port number. This allows multiple
concurrent transfers to be active. When this option is
not enabled, while one transfer is active, other
requests will be delayed or even ignored."
cdl_option CYGNUM_NET_TFTPD_MULTITHREADED_PORTS {
display "Number of different ports with servers"
flavor data
default_value 1
description "
Each set of servers running on the same port number
require a semaphore to synchronise there operation. This option
controls the number of semaphores and so the number
of port numbers multithreaded servers which can be
running on."
}
}
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -