Adding UDP Functionality
For fast non-managed data transfer. Client and server functionality provided by the driver.
Required for some other stack components.
Copy the following files to your main project directory:
eth-udp.c
eth-udp.h
In each .c file of your application that will use the UDP functions include the following file:
eth-udp.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-udp.h
UDP Checksum Header File Option
UDP checksum field transmission and received packet checking of checksums checksum can be turned off if desired to improve performance. If you application will only communicate over a local network then its safe to turn off the UDP checksum functions as the Ethernet packet CRC (generated by the nic) provides error detection. However if your UDP packets may travel over the internet or some other link, or if you don’t care about the extra bit of processing time required, then you should turn the UDP checksum functions on (using the UDP_CHECKSUMS_ENABLED define in eth-udp.h) as there is no guarantee that all the links between source and destination will provide overall packet error checking. Bear in mind that although UDP provides checksum error checking, a packet that contains an error will simply be discarded by the TCP/IP stack and never reach the socket it was intended for (there is no automatic re-try).
Adding TCP Functionality
For fast connection based managed data transfers, but with a significant overhead. Client and server functionality provided by the driver.
Required for some other stack components.
Copy the following files to your main project directory:
eth-tcp.c
eth-tcp.h
In each .c file of your application that will use the TCP functions include the following file:
eth-tcp.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-tcp.h
Adding HTTP Server Functionality
To provide web server functionality.
Requires TCP to be included.
Copy the following files to your main project directory:
eth-http.c
eth-http.h
In each .c file of your application that will use the HTTP functions include the following file:
eth-http.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-http.h
Adding HTTP Client Functionality
To provide the ability for the driver to connect to a remote http server and download files. A really useful way of allowing embedded products to access updated information which can be created using normal web publishing tools.
Requires TCP to be included. The HTTP server does not need to be included.
Copy the following files to your main project directory:
eth-http-client.c
eth-http-client.h
In each .c file of your application that will use the HTTP client functions include the following file:
eth-http-client.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-http-client.h
Adding DHCP Functionality
Not required if you will manually configure the IP address and subnet mask (and gateway address for some stack components). Include DHCP to allow your device to automatically request these settings from a network DHCP server on power-up and periodically when they need to be renewed (if there is no dedicated server on your network typically DSL routers include a DHCP server for simple home or small office networks).
Requires UDP to be included.
Copy the following files to your main project directory:
eth-dhcp.c
eth-dhcp.h
In each .c file of your application that will use the DHCP functions include the following file:
eth-dhcp.h
See the timers section earlier in this manual for details of the timers your application needs to implement for DHCP.
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-dhcp.h
Adding NetBIOS Functionality
Allows you to find your device using a text based name rather than IP address when trying to connect to it via a local network (not via a router). This can be very useful when using DHCP as you may not know what IP address has been assigned by a DHCP server, but with a NetBIOS name set you can use this to connect to it.
Requires UDP to be included.
Copy the following files to your main project directory:
eth-netbios.c
eth-netbios.h
In each .c file of your application that will use the NetBIOS functions include the following file:
eth-netbios.h
Adding DNS Functionality
Allows your embedded device to use text URL’s to connect to remote devices, such as mail servers or your own remote servers. An important feature to protect against changes in a remote servers IP address effectively stopping your device from connecting to it.
Requires UDP to be included.
Copy the following files to your main project directory:
eth-dns.c
eth-dns.h
In each .c file of your application that will use the DNS functions include the following file:
eth-dns.h
Adding POP3 Functionality
Automatically check for and download emails from a standard POP3 mailbox. Apart from obvious uses POP3 is a great way to work around strict network administrators in this security conscious world. If your embedded devices will be behind routers or firewalls you can use POP3 to allow your device to retreive messages via the internet, avoiding the need to configure routers or firewalls to allow an incoming connection.
Requires DNS and TCP to be included.
Copy the following files to your main project directory:
eth-pop3.c
eth-pop3.h
In each .c file of your application that will use the POP3 functions include the following file:
eth-pop3.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-pop3.h
Adding SMTP Functionality
Automatically send anyone emails in response to events or at fixed intervals. A file attachment may also be included with each outgoing email using the built in MIME BASE64 encoding.
Requires DNS and TCP to be included.
Copy the following files to your main project directory:
eth-smtp.c
eth-smtp.h
In each .c file of your application that will use the SMTP functions include the following file:
eth-smtp.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-smtp.h
Adding ICMP Functionality
An automatic component that responds to ping requests. Not a requirement but typically included in a TCP/IP Stack.
Copy the following files to your main project directory:
eth-icmp.c
eth-icmp.h
In each .c file of your application that will use the ICMP functions include the following file:
eth-icmp.h
Adding SNTP Functionality
Allows your embedded device to request the current time (in seconds since a reference date) from public NTP time servers.
Requires UDP to be included.
Copy the following files to your main project directory:
eth-sntp.c
eth-sntp.h
In each .c file of your application that will use the SNTP functions include the following file:
eth-sntp.h
Check the definitions in the following file to see if any need to be adjusted for your application:
eth-sntp.h