1 # ====================================================================
5 # PPP configuration data
7 # ====================================================================
8 #####ECOSGPLCOPYRIGHTBEGIN####
9 ## -------------------------------------------
10 ## This file is part of eCos, the Embedded Configurable Operating System.
11 ## Copyright (C) 2003, 2004 eCosCentric Limited
13 ## eCos is free software; you can redistribute it and/or modify it under
14 ## the terms of the GNU General Public License as published by the Free
15 ## Software Foundation; either version 2 or (at your option) any later version.
17 ## eCos is distributed in the hope that it will be useful, but WITHOUT ANY
18 ## WARRANTY; without even the implied warranty of MERCHANTABILITY or
19 ## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
22 ## You should have received a copy of the GNU General Public License along
23 ## with eCos; if not, write to the Free Software Foundation, Inc.,
24 ## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
26 ## As a special exception, if other files instantiate templates or use macros
27 ## or inline functions from this file, or you compile this file and link it
28 ## with other works to produce a work based on this file, this file does not
29 ## by itself cause the resulting work to be covered by the GNU General Public
30 ## License. However the source code for this file must still be made available
31 ## in accordance with section (3) of the GNU General Public License.
33 ## This exception does not invalidate any other reasons why a work based on
34 ## this file might be covered by the GNU General Public License.
36 ## -------------------------------------------
37 #####ECOSGPLCOPYRIGHTEND####
38 # ====================================================================
39 ######DESCRIPTIONBEGIN####
42 # Original data: nickg
46 #####DESCRIPTIONEND####
48 # ====================================================================
50 cdl_package CYGPKG_PPP {
56 requires CYGPKG_IO_SERIAL
58 requires CYGPKG_IO_SERIAL_DEVICES
59 requires CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING
61 requires CYGPKG_IO_SERIAL_FLOW_CONTROL
62 requires CYGPKG_POSIX_CLOCKS
64 description "PPP support for eCos. This package contains the PPP
65 daemon functionality, BSD kernel device drivers for
66 the network stack, plus other parts of the PPP
69 compile pppd.c sys-ecos.c ppp_io.c
70 compile auth.c ccp.c fsm.c magic.c
71 compile cbcp.c ipcp.c lcp.c
73 compile if_ppp.c slcompress.c
75 cdl_option CYGNUM_PPP_PPPD_THREAD_PRIORITY {
76 display "PPP thread priority"
78 default_value { CYGNUM_KERNEL_SCHED_PRIORITIES/2 }
79 legal_values 0 to CYGNUM_KERNEL_SCHED_PRIORITIES
80 description "The PPP system contains two threads, One is used for receiving
81 data from the link and processing control packets.
82 The other is used to transmit data asynchronously to the link
83 when it cannot be completed synchronously. The receive thread
84 runs at the priority given here, and the transmit thread
85 runs at the next lower priority.
86 The exact priority needed here depends on the importance of the
87 PPP subsystem relative to the rest of the system. The default
88 is to put it in the middle of the priority range to provide
89 reasonable response without impacting genuine high
93 cdl_component CYGPKG_PPP_DEBUG_WARN_ONLY {
94 display "PPP protocol debug error only"
96 description "The runtime debug option enables logging of high
97 level debug messages. Too many of these can interfere
98 with the PPP device and may result in missed messages.
99 This is because these messages are emitted via the diag_printf()
100 mechanism, which disables interrupts while it prints.
101 By default, therefore, we only report errors and warnings, and not
102 all events. Setting this option to zero will enable the logging of
106 cdl_component CYGPKG_PPP_AUTH {
107 display "PPP authentication defaults"
111 cdl_option CYGPKG_PPP_AUTH_DEFAULT_USER {
112 display "Default user name"
114 default_value {"\"eCos\""}
115 description "This option gives the default value
116 for the user name used to intialize
117 the user field in the PPP options."
120 cdl_option CYGPKG_PPP_AUTH_DEFAULT_PASSWD {
121 display "Default password"
123 default_value {"\"secret\""}
124 description "This option gives the default value
125 for the password used to intialize
126 the passwd field in the PPP options."
131 cdl_option CYGPKG_PPP_DEFAULT_DIALUP_NUMBER {
132 display "Default dialup number"
134 default_value { "\"5551234\""}
135 description "This option provides a default dialup number for use in
136 chat scripts. This value is not used anywhere
137 in the PPP package, but is provided to complete the information
138 needed, alongside the user name and password, for accessing a
139 typical dialup server."
142 cdl_component CYGPKG_PPP_PAP {
143 display "PAP support"
145 description "This component enables the inclusion of PAP authentication
151 cdl_component CYGPKG_PPP_CHAP {
152 display "CHAP support"
154 description "This component enables the inclusion of CHAP authentication
157 compile chap.c chap_ms.c
161 cdl_component CYGPKG_PPP_COMPRESSION {
162 display "PPP compression options"
164 description "This component provides control over
165 PPP compression features. WARNING: at
166 present there are problems with BSD and ZLIB,
167 and the compression code needs to allocate large
168 amounts of memory. Hence this is all currently
171 cdl_option PPP_BSDCOMP {
172 display "Enable BSD compression"
175 description "This option enables inclusion of BSD
176 compression into the PPP protocol."
179 cdl_option PPP_DEFLATE {
180 display "Enable ZLIB compression"
182 compile ppp_deflate.c zlib.c
183 description "This option enables inclusion of ZLIB
184 compression into the PPP protocol."
187 cdl_option PPP_INHIBIT_OLD_VJ_COMPRESSION {
188 display "Inhibit older-style VJ compression"
191 description "This option prevents the IPCP state machine
192 from negotiating the pre-RFC1332 Van Jacobson
193 compression. Checking this option could
194 improve IPCP negotiation time at the expense
199 cdl_component CYGPKG_PPP_CHAT {
200 display "Chat script support"
202 description "This component enables the inclusion of a
203 simple scripting system to bring up PPP connections.
204 It implements a subset of the CHAT scripting language."
208 cdl_option CYGNUM_PPP_CHAT_ABORTS_MAX {
209 display "Maximum number of ABORT strings"
212 legal_values 5 to 500
213 description "This option defines the maximum number of ABORT
214 strings that the CHAT system will store."
217 cdl_option CYGNUM_PPP_CHAT_ABORTS_SIZE {
218 display "Maximum size of each ABORT string"
221 legal_values 10 to 100
222 description "This option defines the maximum size of each ABORT
223 strings that the CHAT system will store."
226 cdl_option CYGNUM_PPP_CHAT_STRING_LENGTH {
227 display "Maximum size of CHAT strings"
230 legal_values 32 to 32768
231 description "This option defines the maximum size of any
232 expect or reply strings that the CHAT system
238 cdl_component CYGPKG_PPP_WORKAROUNDS {
239 display "PPP workarounds for bugs in other implementations"
243 cdl_option CYGPKT_PPP_WORKAROUNDS_START_FLAG {
246 description "This option enables a workaround to add a start
247 flag to every packet. The RFC does not require this,
248 but some broken PPP implementations seems to need it."
252 cdl_component CYGPKG_PPP_NEGOTIATE_OPTIONS {
253 display "PPP negotiation options"
257 cdl_option CYGOPT_PPP_NS_NEGOTIATE {
258 display "Name server support"
259 default_value CYGINT_ISO_DNS
262 This option allows negotiation of the domain
263 name server IPCP extensions as defined in
266 cdl_option CYGOPT_PPP_DNS_CONFIGURE {
267 display "Allow the PPP code to configure the resolver"
270 The PPP code can negotionate with the peer what the
271 recommended DNS server is. This option causes the PPP
272 code to then configure the DNS resolver with the address
273 of the discovered server."
277 cdl_component CYGPKG_PPP_OPTIONS {
278 display "PPP build options"
282 cdl_option CYGPKG_PPP_CFLAGS_ADD {
283 display "Additional compiler flags"
286 default_value { "-D__ECOS" }
288 This option modifies the set of compiler flags for
289 building the PPP package.
290 These flags are used in addition
291 to the set of global flags."
294 cdl_option CYGPKG_PPP_CFLAGS_REMOVE {
295 display "Suppressed compiler flags"
300 This option modifies the set of compiler flags for
301 building the PPP package. These flags are removed from
302 the set of global flags if present."
306 cdl_option CYGPKG_PPP_TESTS {
310 calculated { "tests/ppp_up " .
311 "tests/ppp_updown " .
314 ((CYGPKG_PPP_TESTS_ALL) ?
317 "tests/nc_test_slave "
322 This option specifies the set of tests
323 for the PPP package."
326 cdl_option CYGPKG_PPP_TESTS_ALL {
327 display "Include all PPP tests"
329 description "This option enables the inclusion of extra PPP tests
330 that are not normally suitable for automated testing."
333 cdl_option CYGPKG_PPP_TEST_DEVICE {
334 display "PPP test device"
336 default_value { "\"/dev/ser0\"" }
337 description "This is the name of the device used by the PPP tests
338 to make the PPP connection."
341 cdl_component CYGPKG_PPP_TESTS_AUTOMATE {
342 display "PPP test automation"
344 description "This component controls the automation of PPP tests using the
345 test_server.sh script to control the remote end. Without this
346 option, PPP tests are configured to run stand-alone. With this
347 option they emit control strings to change the line baud rate
348 and announce the test being performed."
350 cdl_option CYGDAT_PPP_TEST_BAUD_RATES {
351 display "PPP test automation baud rates"
353 default_value { "CYGNUM_SERIAL_BAUD_19200," .
354 "CYGNUM_SERIAL_BAUD_38400," .
355 "CYGNUM_SERIAL_BAUD_57600," .
356 "CYGNUM_SERIAL_BAUD_115200"
358 description "This option gives the set of baud rates for which some
362 cdl_option CYGBLD_PPP_WINDOWS_TELNET_APP {
363 display "Build complete eCos PPP client interfacing to Windows PPP server"
366 <PREFIX>/bin/windows_telnet.elf : $(PREFIX)/lib/target.ld $(PREFIX)/lib/vectors.o $(PREFIX)/lib/libtarget.a $(PREFIX)/lib/libextras.a $(REPOSITORY)/$(PACKAGE)/tests/windows_telnet.c
367 @sh -c "mkdir -p $(dir $@)"
368 $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/windows_telnet.o $(REPOSITORY)/$(PACKAGE)/tests/windows_telnet.c
369 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/windows_telnet.o
370 $(OBJCOPY) -O binary $@ $(PREFIX)/bin/windows_telnet.bin