Secure SNMP Application

This application demonstrates:
    - The SNMP API
    - Secure network communication channels using the Secure Agent

This example should work on all development boards.

The SNMP API is a UDP service that allows remote management stations
to monitor a unit remotely (via the internet).  FTP and HTTP Servers
have been included in this application, along with three UDP servers, 
to allow TCP/IP parameters to change, which are reported in the SNMP
Internet MIB.  Note it is not necessary to use the servers to 
demonstrate SNMP.  However, if connections are not established, they 
will not show up in the SNMP routing, netToMedia, and TCP connection 
tables.  Also, the UDP service will send an SNMP trap in reply to any 
packet received on port 10001. The utility trap (located in the 
utility directory) has been included to help demonstrate the use of 
traps.  Set up an Ethernet Analyzer and observe the NET+ARM response 
to the incoming datagram, this is a trap packet.  This utility can be 
run on a windows machine that does not have an SNMP agent running.

To use trap, goto the utility directory and type:

    Trap <ip address>

   
Username/Passwords

FTP: Netsilicon/sysadm and system/sysadm.
SNMP: private/private and public/public.  

Three MULTI build files are provided if the option to install Green Hills
support is selected.  The build file project.gpj is used to control how
application specific files are built.  All updates to the build should be
made to this file.  Project.gpj is a subproject to the other build files
image.gpj and rom.gpj.  Image.gpj is used to generate a debuggable version
of the application, and also creates the file image.bin that can be written
into ROM if the bootloader is used.  Rom.gpj is used to generate a 
ROM image of the application if the bootloader is not used.

One GNU make file is provided.  Build the target 'image' to
generate an image that can be debugged with gdb, and the file 
image.bin which can be written to flash if the bootloader is used.
Build the target 'rom.bin' to create the file rom.bin which 
can be written to ROM if the bootloader is not used.

The following files are provided in this template.

appconf.h         sets application configuration settings
.\32b\image.gpj   used to build the big endian Green Hills version of the
                  application.  The build script creates a version that
                  can be debugged with Multi, and the file image.bin 
                  which can be written into a ROM that uses the bootloader.
makefile          Make file for the GNU toolset.
project.gpj       contains application specific build settings
readme            this file
.\32b\rom.gpj     used to build the big endian ROM image of application
root.c            contains applicationStart() function
.\utility\trap.exe  UDP utility that triggers an SNMP trap.
naftpapp.c	  This file implements a NET+ARM FTP server application. This application
                  is used to store and retrieve data from the NET+Works board by using the 
                  "put" and "get" commands from the FTP client.It also support "mkd", "rmd"
                  and "dele" commands from the FTP client.

The following files are generic stubs required by all applications that
use and include the AWS (rphttpd.a) library.  These files are located
in directory .\..\..\..\src\rphttpd\:

cgi.c               contains the blank stubs for CGI functions
file.c              contains the blank stubs for File System functions
security.c          contains the blank stubs for System Security
                    functions

The following files are input/outputs to/from the pbuilder tool,
and are contained in the pbuilder directory:

list.bat            File listing as parameter to pbuilder tool.
pbsetup.txt         PBUILDER Utility options file (do not alter).
rppages.c           PBUILDER Utility output file containing all the
                    application web pages defined in list.bat.
rpusrdct.h          PBUILDER Utility output file containing phrase
                    dictionary prototypes.
rpusrdct.c          PBUILDER Utility output file containing phrase
                    dictionary data structures.
rpusrdct.txt        PBUILDER Utility input file containing phrase
                    dictionary definitions.


The following Web content files are contained in the pbuilder\html
directory:

netsilicon.gif      GIF file for NetSilicon logo.
netarm1.c           Source file generated by PBUILDER Utility.
netarm1.htm         Initial (i.e., opening) web page.
netarm1_v.c         Stub file generated by the PBUILDER Utility.


In addition, the following files in the BSP directory are built
as part of this application.

reset.s         contains the reset code
appconf_api.c   contains code used to read settings in appconf.h


The application build file links in the following libraries.

bsp.a           contains the BSP code
tcpip.a         contains the Net+Works TCP/IP stack
tx.a            contains the ThreadX kernel
na1.lib,na2.lib contains the NET+Works API libraries.
snmpd.lib           Contains the SNMP API
snmp.lib            Contains the internet MIB II
rphttpd.a           Contains the NET+Works AWS API library.
crypto.a            Contains the NET+OS Security library.
sntp.a              Contains the NET+OS SNTP Client.


The application uses the following files located in the
netos\src\linkerScripts directory.

bootldr.dat     bootloader configuration file used to generate the
                file image.bin.  It controls the information placed
                in the bootloader header of the image.

image.ld        GNU linker script used to build an image that can
                be debugged and used with the bootloader.

image.lx        Green Hills linker script used to build an image
                that can be debugged and used with the bootloader.

rom.ld          GNU linker script used to build an image that will
                run from ROM.  The bootloader is not used with
                this type of image.

rom.lx          Green Hills linker script used to build an image
                that will run from ROM.  The bootloader is not used
                with this type of image.

