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
63 description "PPP support for eCos. This package contains the PPP
64 daemon functionality, BSD kernel device drivers for
65 the network stack, plus other parts of the PPP
68 compile pppd.c sys-ecos.c ppp_io.c
69 compile auth.c ccp.c fsm.c magic.c
70 compile cbcp.c ipcp.c lcp.c
72 compile if_ppp.c slcompress.c
74 cdl_option CYGNUM_PPP_PPPD_THREAD_PRIORITY {
75 display "PPP thread priority"
77 default_value { CYGNUM_KERNEL_SCHED_PRIORITIES/2 }
78 legal_values 0 to CYGNUM_KERNEL_SCHED_PRIORITIES
79 description "The PPP system contains two threads, One is used for receiving
80 data from the link and processing control packets.
81 The other is used to transmit data asynchronously to the link
82 when it cannot be completed synchronously. The receive thread
83 runs at the priority given here, and the transmit thread
84 runs at the next lower priority.
85 The exact priority needed here depends on the importance of the
86 PPP subsystem relative to the rest of the system. The default
87 is to put it in the middle of the priority range to provide
88 reasonable response without impacting genuine high
92 cdl_component CYGPKG_PPP_DEBUG_WARN_ONLY {
93 display "PPP protocol debug error only"
95 description "The runtime debug option enables logging of high
96 level debug messages. Too many of these can interfere
97 with the PPP device and may result in missed messages.
98 This is because these messages are emitted via the diag_printf()
99 mechanism, which disables interrupts while it prints.
100 By default, therefore, we only report errors and warnings, and not
101 all events. Setting this option to zero will enable the logging of
105 cdl_component CYGPKG_PPP_AUTH {
106 display "PPP authentication defaults"
110 cdl_option CYGPKG_PPP_AUTH_DEFAULT_USER {
111 display "Default user name"
113 default_value {"\"eCos\""}
114 description "This option gives the default value
115 for the user name used to intialize
116 the user field in the PPP options."
119 cdl_option CYGPKG_PPP_AUTH_DEFAULT_PASSWD {
120 display "Default password"
122 default_value {"\"secret\""}
123 description "This option gives the default value
124 for the password used to intialize
125 the passwd field in the PPP options."
130 cdl_option CYGPKG_PPP_DEFAULT_DIALUP_NUMBER {
131 display "Default dialup number"
133 default_value { "\"5551234\""}
134 description "This option provides a default dialup number for use in
135 chat scripts. This value is not used anywhere
136 in the PPP package, but is provided to complete the information
137 needed, alongside the user name and password, for accessing a
138 typical dialup server."
141 cdl_component CYGPKG_PPP_PAP {
142 display "PAP support"
144 description "This component enables the inclusion of PAP authentication
150 cdl_component CYGPKG_PPP_CHAP {
151 display "CHAP support"
153 description "This component enables the inclusion of CHAP authentication
156 compile chap.c chap_ms.c
160 cdl_component CYGPKG_PPP_COMPRESSION {
161 display "PPP compression options"
163 description "This component provides control over
164 PPP compression features. WARNING: at
165 present there are problems with BSD and ZLIB,
166 and the compression code needs to allocate large
167 amounts of memory. Hence this is all currently
170 cdl_option PPP_BSDCOMP {
171 display "Enable BSD compression"
174 description "This option enables inclusion of BSD
175 compression into the PPP protocol."
178 cdl_option PPP_DEFLATE {
179 display "Enable ZLIB compression"
181 compile ppp_deflate.c zlib.c
182 description "This option enables inclusion of ZLIB
183 compression into the PPP protocol."
186 cdl_option PPP_INHIBIT_OLD_VJ_COMPRESSION {
187 display "Inhibit older-style VJ compression"
190 description "This option prevents the IPCP state machine
191 from negotiating the pre-RFC1332 Van Jacobson
192 compression. Checking this option could
193 improve IPCP negotiation time at the expense
198 cdl_component CYGPKG_PPP_CHAT {
199 display "Chat script support"
201 description "This component enables the inclusion of a
202 simple scripting system to bring up PPP connections.
203 It implements a subset of the CHAT scripting language."
207 cdl_option CYGNUM_PPP_CHAT_ABORTS_MAX {
208 display "Maximum number of ABORT strings"
211 legal_values 5 to 500
212 description "This option defines the maximum number of ABORT
213 strings that the CHAT system will store."
216 cdl_option CYGNUM_PPP_CHAT_ABORTS_SIZE {
217 display "Maximum size of each ABORT string"
220 legal_values 10 to 100
221 description "This option defines the maximum size of each ABORT
222 strings that the CHAT system will store."
225 cdl_option CYGNUM_PPP_CHAT_STRING_LENGTH {
226 display "Maximum size of CHAT strings"
229 legal_values 32 to 32768
230 description "This option defines the maximum size of any
231 expect or reply strings that the CHAT system
237 cdl_component CYGPKG_PPP_WORKAROUNDS {
238 display "PPP workarounds for bugs in other implementations"
242 cdl_option CYGPKT_PPP_WORKAROUNDS_START_FLAG {
245 description "This option enables a workaround to add a start
246 flag to every packet. The RFC does not require this,
247 but some broken PPP implementations seems to need it."
251 cdl_component CYGPKG_PPP_NEGOTIATE_OPTIONS {
252 display "PPP negotiation options"
256 cdl_option CYGOPT_PPP_NS_NEGOTIATE {
257 display "Name server support"
258 default_value CYGINT_ISO_DNS
261 This option allows negotiation of the domain
262 name server IPCP extensions as defined in
265 cdl_option CYGOPT_PPP_DNS_CONFIGURE {
266 display "Allow the PPP code to configure the resolver"
269 The PPP code can negotionate with the peer what the
270 recommended DNS server is. This option causes the PPP
271 code to then configure the DNS resolver with the address
272 of the discovered server."
276 cdl_component CYGPKG_PPP_OPTIONS {
277 display "PPP build options"
281 cdl_option CYGPKG_PPP_CFLAGS_ADD {
282 display "Additional compiler flags"
285 default_value { "-D__ECOS" }
287 This option modifies the set of compiler flags for
288 building the PPP package.
289 These flags are used in addition
290 to the set of global flags."
293 cdl_option CYGPKG_PPP_CFLAGS_REMOVE {
294 display "Suppressed compiler flags"
299 This option modifies the set of compiler flags for
300 building the PPP package. These flags are removed from
301 the set of global flags if present."
305 cdl_option CYGPKG_PPP_TESTS {
309 calculated { "tests/ppp_up " .
310 "tests/ppp_updown " .
313 ((CYGPKG_PPP_TESTS_ALL) ?
316 "tests/nc_test_slave "
321 This option specifies the set of tests
322 for the PPP package."
325 cdl_option CYGPKG_PPP_TESTS_ALL {
326 display "Include all PPP tests"
328 description "This option enables the inclusion of extra PPP tests
329 that are not normally suitable for automated testing."
332 cdl_option CYGPKG_PPP_TEST_DEVICE {
333 display "PPP test device"
335 default_value { "\"/dev/ser0\"" }
336 description "This is the name of the device used by the PPP tests
337 to make the PPP connection."
340 cdl_component CYGPKG_PPP_TESTS_AUTOMATE {
341 display "PPP test automation"
343 description "This component controls the automation of PPP tests using the
344 test_server.sh script to control the remote end. Without this
345 option, PPP tests are configured to run stand-alone. With this
346 option they emit control strings to change the line baud rate
347 and announce the test being performed."
349 cdl_option CYGDAT_PPP_TEST_BAUD_RATES {
350 display "PPP test automation baud rates"
352 default_value { "CYGNUM_SERIAL_BAUD_19200," .
353 "CYGNUM_SERIAL_BAUD_38400," .
354 "CYGNUM_SERIAL_BAUD_57600," .
355 "CYGNUM_SERIAL_BAUD_115200"
357 description "This option gives the set of baud rates for which some
361 cdl_option CYGBLD_PPP_WINDOWS_TELNET_APP {
362 display "Build complete eCos PPP client interfacing to Windows PPP server"
365 <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
366 @sh -c "mkdir -p $(dir $@)"
367 $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $(PREFIX)/lib/windows_telnet.o $(REPOSITORY)/$(PACKAGE)/tests/windows_telnet.c
368 $(CC) $(LDFLAGS) -L$(PREFIX)/lib -Ttarget.ld -o $@ $(PREFIX)/lib/windows_telnet.o
369 $(OBJCOPY) -O binary $@ $(PREFIX)/bin/windows_telnet.bin