forked from Archive/PX4-Autopilot
101 lines
4.0 KiB
Plaintext
101 lines
4.0 KiB
Plaintext
netutils
|
|
^^^^^^^^
|
|
|
|
Contents
|
|
--------
|
|
|
|
- uIP Applications
|
|
- Other Network Applications
|
|
- Tips for Using Telnetd
|
|
- Tips for Using DHCPC
|
|
|
|
uIP Applications
|
|
^^^^^^^^^^^^^^^^
|
|
|
|
This directory contains most of the network applications contained
|
|
under the uIP-1.0 apps directory. As the uIP apps/README says,
|
|
these applications "are not all heavily tested." These uIP apps
|
|
include:
|
|
|
|
dhcpc - Dynamic Host Configuration Protocol (DHCP) client. See
|
|
apps/include/netutils/dhcpc.h for interface information.
|
|
resolv - uIP DNS resolver. See apps/include/netutils/resolv.h
|
|
for interface information.
|
|
smtp - Simple Mail Transfer Protocol (SMTP) client. See
|
|
apps/include/netutils/smtp.h for interface information.
|
|
webclient - HTTP web client. See apps/include/netutils/webclient.h
|
|
for interface information.
|
|
webserver - HTTP web server. See apps/include/netutils/httpd.h
|
|
for interface information.
|
|
|
|
You may find additional information on these apps in the uIP forum
|
|
accessible through: http://www.sics.se/~adam/uip/index.php/Main_Page
|
|
|
|
Other Network Applications
|
|
^^^^^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Additional applications that were not part of uIP (but which are
|
|
highly influenced by uIP) include:
|
|
|
|
dhcpd - Dynamic Host Configuration Protocol (DHCP) server. See
|
|
apps/include/netutils/dhcpd.h for interface information.
|
|
tftpc - TFTP client. See apps/include/netutils/tftp.h
|
|
for interface information.
|
|
telnetd - TELNET server. This is the Telnet logic adapted from
|
|
uIP and generalized for use as the front end to any
|
|
shell. The telnet daemon creates sessions that are
|
|
"wrapped" as character devices and mapped to stdin,
|
|
stdout, and stderr. Now the telnet session can be
|
|
inherited by spawned tasks.
|
|
ftpc - FTP client. See apps/include/ftpc.h for interface
|
|
information.
|
|
thttpd - This is a port of Jef Poskanzer's THTTPD HTPPD server.
|
|
See http://acme.com/software/thttpd/ for general THTTPD
|
|
information. See apps/include/netutils/thttpd.h
|
|
for interface information. Applications using this thttpd
|
|
will need to provide an appconfig file in the configuration
|
|
directory with instruction to build applications like:
|
|
|
|
CONFIGURED_APPS += uiplib
|
|
CONFIGURED_APPS += thttpd
|
|
|
|
Tips for Using Telnetd
|
|
^^^^^^^^^^^^^^^^^^^^^^
|
|
|
|
Telnetd is set up to be the front end for a shell. The primary use of
|
|
Telnetd in NuttX is to support the NuttShell (NSH) Telnet front end. See
|
|
apps/include/netutils/telnetd.h for information about how to incorporate
|
|
Telnetd into your custom applications.
|
|
|
|
To enable and link the Telnetd daemon, you need to include the following in
|
|
in your appconfig (apps/.config) file:
|
|
|
|
CONFIGURED_APPS += uiplib
|
|
CONFIGURED_APPS += netutils/telnetd
|
|
|
|
Also if the Telnet console is enabled, make sure that you have the following
|
|
set in the NuttX configuration file or else the performance will be very bad
|
|
(because there will be only one character per TCP transfer):
|
|
|
|
CONFIG_STDIO_BUFFER_SIZE Some value >= 64
|
|
CONFIG_STDIO_LINEBUFFER=y Since Telnetd is line oriented, line buffering
|
|
is optimal.
|
|
|
|
Tips for Using DHCPC
|
|
^^^^^^^^^^^^^^^^^^^^
|
|
|
|
If you use DHCPC/D, then some special configuration network options are
|
|
required. These include:
|
|
|
|
CONFIG_NET=y Of course
|
|
CONFIG_NSOCKET_DESCRIPTORS And, of course, you must allocate some
|
|
socket descriptors.
|
|
CONFIG_NET_UDP=y UDP support is required for DHCP
|
|
(as well as various other UDP-related
|
|
configuration settings).
|
|
CONFIG_NET_BROADCAST=y UDP broadcast support is needed.
|
|
CONFIG_NET_BUFSIZE=650 The client must be prepared to receive
|
|
(or larger) DHCP messages of up to 576 bytes (excluding
|
|
Ethernet, IP, or UDP headers and FCS).
|
|
|