Add tag for the 120219 release.
[pub/USBasp.git] / Demos / Device / ClassDriver / RNDISEthernet / Lib / DHCP.h
index cacdd8f..c8b3741 100644 (file)
@@ -1,21 +1,21 @@
 /*
              LUFA Library
 /*
              LUFA Library
-     Copyright (C) Dean Camera, 2010.
-              
+     Copyright (C) Dean Camera, 2012.
+
   dean [at] fourwalledcubicle [dot] com
   dean [at] fourwalledcubicle [dot] com
-      www.fourwalledcubicle.com
+           www.lufa-lib.org
 */
 
 /*
 */
 
 /*
-  Copyright 2010  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2012  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
 
-  Permission to use, copy, modify, distribute, and sell this 
+  Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
   software and its documentation for any purpose is hereby granted
-  without fee, provided that the above copyright notice appear in 
+  without fee, provided that the above copyright notice appear in
   all copies and that both that the copyright notice and this
   all copies and that both that the copyright notice and this
-  permission notice and warranty disclaimer appear in supporting 
-  documentation, and that the name of the author not be used in 
-  advertising or publicity pertaining to distribution of the 
+  permission notice and warranty disclaimer appear in supporting
+  documentation, and that the name of the author not be used in
+  advertising or publicity pertaining to distribution of the
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
   software without specific, written prior permission.
 
   The author disclaim all warranties with regard to this
  *
  *  Header file for DHCP.c.
  */
  *
  *  Header file for DHCP.c.
  */
+
 #ifndef _DHCP_H_
 #define _DHCP_H_
 
        /* Includes: */
                #include <avr/io.h>
                #include <string.h>
 #ifndef _DHCP_H_
 #define _DHCP_H_
 
        /* Includes: */
                #include <avr/io.h>
                #include <string.h>
-       
+
                #include "EthernetProtocols.h"
                #include "Ethernet.h"
                #include "ProtocolDecoders.h"
 
        /* Macros: */
                #include "EthernetProtocols.h"
                #include "Ethernet.h"
                #include "ProtocolDecoders.h"
 
        /* Macros: */
-               /** DHCP operation constant, indicating a request from a host to a DHCP server */
+               /** DHCP operation constant, indicating a request from a host to a DHCP server. */
                #define DHCP_OP_BOOTREQUEST       0x01
 
                #define DHCP_OP_BOOTREQUEST       0x01
 
-               /** DHCP operation constant, indicating a reply from a DHCP server to a host */
+               /** DHCP operation constant, indicating a reply from a DHCP server to a host. */
                #define DHCP_OP_BOOTREPLY         0x02
                #define DHCP_OP_BOOTREPLY         0x02
-               
-               /** Hardware type constant, indicating Ethernet as a carrier */
+
+               /** Hardware type constant, indicating Ethernet as a carrier. */
                #define DHCP_HTYPE_ETHERNET       0x01
                #define DHCP_HTYPE_ETHERNET       0x01
-               
-               /** Magic boot protocol "cookie", inserted into all BOOTP packets (BOOTP is the carrier of DHCP) */
+
+               /** Magic boot protocol "cookie", inserted into all BOOTP packets (BOOTP is the carrier of DHCP). */
                #define DHCP_MAGIC_COOKIE         0x63825363
                #define DHCP_MAGIC_COOKIE         0x63825363
-               
-               /** DHCP option list entry header, indicating that a subnet mask will follow */
+
+               /** DHCP option list entry header, indicating that a subnet mask will follow. */
                #define DHCP_OPTION_SUBNETMASK    1
 
                #define DHCP_OPTION_SUBNETMASK    1
 
-               /** DHCP option list entry header, indicating that the DHCP message type constant will follow */
+               /** DHCP option list entry header, indicating that the DHCP message type constant will follow. */
                #define DHCP_OPTION_MESSAGETYPE   53
 
                #define DHCP_OPTION_MESSAGETYPE   53
 
-               /** DHCP option list entry header, indicating that the IP address of the DHCP server will follow */
+               /** DHCP option list entry header, indicating that the IP address of the DHCP server will follow. */
                #define DHCP_OPTION_DHCPSERVER    54
 
                #define DHCP_OPTION_DHCPSERVER    54
 
-               /** DHCP option list entry header, used to pad out option data */
+               /** DHCP option list entry header, used to pad out option data. */
                #define DHCP_OPTION_PAD           0
 
                #define DHCP_OPTION_PAD           0
 
-               /** DHCP option list entry header, indicating the end of option data */
+               /** DHCP option list entry header, indicating the end of option data. */
                #define DHCP_OPTION_END           255
                #define DHCP_OPTION_END           255
-                       
-               /** Message type constant, used in the DHCP option data field, requesting that a DHCP server offer an IP address */
+
+               /** Message type constant, used in the DHCP option data field, requesting that a DHCP server offer an IP address. */
                #define DHCP_MESSAGETYPE_DISCOVER 1
 
                #define DHCP_MESSAGETYPE_DISCOVER 1
 
-               /** Message type constant, used in the DHCP option data field, indicating that a DHCP server is offering an IP address */
+               /** Message type constant, used in the DHCP option data field, indicating that a DHCP server is offering an IP address. */
                #define DHCP_MESSAGETYPE_OFFER    2
 
                #define DHCP_MESSAGETYPE_OFFER    2
 
-               /** Message type constant, used in the DHCP option data field, requesting that a DHCP server lease a given IP address */
+               /** Message type constant, used in the DHCP option data field, requesting that a DHCP server lease a given IP address. */
                #define DHCP_MESSAGETYPE_REQUEST  3
 
                #define DHCP_MESSAGETYPE_REQUEST  3
 
-               /** Message type constant, used in the DHCP option data field, declining an offered DHCP server IP address lease */
+               /** Message type constant, used in the DHCP option data field, declining an offered DHCP server IP address lease. */
                #define DHCP_MESSAGETYPE_DECLINE  4
 
                #define DHCP_MESSAGETYPE_DECLINE  4
 
-               /** Message type constant, used in the DHCP option data field, ACKing a host IP lease request */
+               /** Message type constant, used in the DHCP option data field, ACKing a host IP lease request. */
                #define DHCP_MESSAGETYPE_ACK      5
 
                #define DHCP_MESSAGETYPE_ACK      5
 
-               /** Message type constant, used in the DHCP option data field, NACKing a host IP lease request */
+               /** Message type constant, used in the DHCP option data field, NACKing a host IP lease request. */
                #define DHCP_MESSAGETYPE_NACK     6
 
                #define DHCP_MESSAGETYPE_NACK     6
 
-               /** Message type constant, used in the DHCP option data field, indicating that a host is releasing a leased IP address */
+               /** Message type constant, used in the DHCP option data field, indicating that a host is releasing a leased IP address. */
                #define DHCP_MESSAGETYPE_RELEASE  7
 
        /* Type Defines: */
                #define DHCP_MESSAGETYPE_RELEASE  7
 
        /* Type Defines: */
 
                        uint16_t ElapsedSeconds; /**< Elapsed seconds since the request was made */
                        uint16_t Flags; /**< BOOTP packet flags */
 
                        uint16_t ElapsedSeconds; /**< Elapsed seconds since the request was made */
                        uint16_t Flags; /**< BOOTP packet flags */
-                       
+
                        IP_Address_t ClientIP; /**< Client IP address, if already leased an IP */
                        IP_Address_t YourIP; /**< Client IP address */
                        IP_Address_t NextServerIP; /**< Legacy BOOTP protocol field, unused for DHCP */
                        IP_Address_t RelayAgentIP; /**< Legacy BOOTP protocol field, unused for DHCP */
                        IP_Address_t ClientIP; /**< Client IP address, if already leased an IP */
                        IP_Address_t YourIP; /**< Client IP address */
                        IP_Address_t NextServerIP; /**< Legacy BOOTP protocol field, unused for DHCP */
                        IP_Address_t RelayAgentIP; /**< Legacy BOOTP protocol field, unused for DHCP */
-                       
+
                        uint8_t ClientHardwareAddress[16]; /**< Hardware (MAC) address of the client making a request to the DHCP server */
                        uint8_t ServerHostnameString[64]; /**< Legacy BOOTP protocol field, unused for DHCP */
                        uint8_t BootFileName[128]; /**< Legacy BOOTP protocol field, unused for DHCP */
                        uint8_t ClientHardwareAddress[16]; /**< Hardware (MAC) address of the client making a request to the DHCP server */
                        uint8_t ServerHostnameString[64]; /**< Legacy BOOTP protocol field, unused for DHCP */
                        uint8_t BootFileName[128]; /**< Legacy BOOTP protocol field, unused for DHCP */
-                       
+
                        uint32_t Cookie; /**< Magic BOOTP protocol cookie to indicate a valid packet */
                } DHCP_Header_t;
 
        /* Function Prototypes: */
                        uint32_t Cookie; /**< Magic BOOTP protocol cookie to indicate a valid packet */
                } DHCP_Header_t;
 
        /* Function Prototypes: */
-               int16_t DHCP_ProcessDHCPPacket(void* IPHeaderInStart, void* DHCPHeaderInStart, void* DHCPHeaderOutStart);
+               int16_t DHCP_ProcessDHCPPacket(void* IPHeaderInStart,
+                                              void* DHCPHeaderInStart,
+                                              void* DHCPHeaderOutStart);
 
 #endif
 
 #endif
+