nuttx-apps/netutils
patacongo eeff74085e Add the beginnings of an FTP server
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4368 42af7a65-404d-4744-a932-0658087f49c3
2012-02-04 21:02:45 +00:00
..
dhcpc tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
dhcpd STM32 Ethernet bugfixes; STM3240G-EVAL DHCPD configuration; fixes for IP address order bugs in DHCPD 2011-12-13 17:25:23 +00:00
ftpc Amber Web Server updates 2011-06-13 17:51:17 +00:00
ftpd Add the beginnings of an FTP server 2012-02-04 21:02:45 +00:00
resolv tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
smtp tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
telnetd Re-verficatin of examples/telnetd after refactoring of fgets/readline functionality 2012-02-01 21:10:40 +00:00
tftpc STM32 Ethernet... initial bring-up changes 2011-12-12 15:59:33 +00:00
thttpd tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
uiplib Changes for clean build of app/ directory with Windows toolchain 2011-04-10 16:08:08 +00:00
webclient tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
webserver tools/mkdep.sh should not report an error if there are no files on the command line 2011-05-11 01:27:04 +00:00
Makefile First cut at FTP client 2011-06-01 19:15:14 +00:00
README.txt Add David Hewson's corrections to the LPC214x USB device driver; Add LPC214x configuration to test the USB composite device 2012-02-02 04:35:35 +00:00

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).