Clean up Webserver project - add more Doxygen documentation for the new DHCP client functions and defines.

This commit is contained in:
Dean Camera 2010-01-27 13:45:08 +00:00
parent a960e4b3b2
commit cec699ac59
7 changed files with 98 additions and 21 deletions

View file

@ -44,36 +44,76 @@
#include "../Webserver.h"
/* Macros: */
/** UDP listen port for a BOOTP server */
#define DHCPC_SERVER_PORT 67
/** UDP listen port for a BOOTP client */
#define DHCPC_CLIENT_PORT 68
/** BOOTP message type for a BOOTP REQUEST message */
#define DHCP_OP_BOOTREQUEST 0x01
/** BOOTP message type for a BOOTP REPLY message */
#define DHCP_OP_BOOTREPLY 0x02
/** BOOTP flag for a BOOTP broadcast message */
#define BOOTP_BROADCAST 0x8000
/** Magic DHCP cookie for a BOOTP message to identify it as a DHCP message */
#define DHCP_MAGIC_COOKIE 0x63538263
/** Unique transaction ID used to identify DHCP responses to the client */
#define DHCP_TRANSACTION_ID 0x13245466
/** DHCP message type for a DISCOVER message */
#define DHCP_DISCOVER 1
/** DHCP message type for an OFFER message */
#define DHCP_OFFER 2
/** DHCP message type for a REQUEST message */
#define DHCP_REQUEST 3
/** DHCP message type for a DECLINE message */
#define DHCP_DECLINE 4
/** DHCP message type for an ACK message */
#define DHCP_ACK 5
/** DHCP message type for a NAK message */
#define DHCP_NAK 6
/** DHCP message type for a RELEASE message */
#define DHCP_RELEASE 7
/** DHCP medium type for standard Ethernet */
#define DHCP_HTYPE_ETHERNET 1
/** DHCP message option for the network subnet mask */
#define DHCP_OPTION_SUBNET_MASK 1
/** DHCP message option for the network gateway IP */
#define DHCP_OPTION_ROUTER 3
/** DHCP message option for the network DNS server */
#define DHCP_OPTION_DNS_SERVER 6
/** DHCP message option for the requested client IP address */
#define DHCP_OPTION_REQ_IPADDR 50
/** DHCP message option for the IP address lease time */
#define DHCP_OPTION_LEASE_TIME 51
/** DHCP message option for the DHCP message type */
#define DHCP_OPTION_MSG_TYPE 53
/** DHCP message option for the DHCP server IP */
#define DHCP_OPTION_SERVER_ID 54
/** DHCP message option for the list of required options from the server */
#define DHCP_OPTION_REQ_LIST 55
/** DHCP message option for the options list terminator */
#define DHCP_OPTION_END 255
/* Type Defines: */
@ -105,13 +145,14 @@
} DHCP_Header_t;
/* Enums: */
/** States for each DHCP connection to a DHCP client. */
enum DHCP_States_t
{
DHCP_STATE_SendDiscover,
DHCP_STATE_WaitForResponse,
DHCP_STATE_SendRequest,
DHCP_STATE_WaitForACK,
DHCP_STATE_AddressLeased,
DHCP_STATE_SendDiscover, /**< Send DISCOVER packet to retrieve DHCP lease offers */
DHCP_STATE_WaitForOffer, /**< Waiting for OFFER packet giving available DHCP leases */
DHCP_STATE_SendRequest, /**< Send REQUEST packet to request a DHCP lease */
DHCP_STATE_WaitForACK, /**< Wait for ACK packet to complete the DHCP lease */
DHCP_STATE_AddressLeased, /**< DHCP address has been leased from a DHCP server */
};
/* Function Prototypes: */
@ -119,7 +160,7 @@
void DHCPApp_Callback(void);
uint16_t DHCPApp_FillDHCPHeader(DHCP_Header_t* DHCPHeader, uint8_t DHCPMessageType, uip_udp_appstate_t* AppState);
uint8_t DHCPApp_SetOption(uint8_t* DHCPOptionList, uint8_t Option, uint8_t DataLen, void* Source);
uint8_t DHCPApp_SetOption(uint8_t* DHCPOptionList, uint8_t Option, uint8_t DataLen, void* OptionData);
bool DHCPApp_GetOption(uint8_t* DHCPOptionList, uint8_t Option, void* Destination);
#endif