diff options
Diffstat (limited to 'lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h')
| -rw-r--r-- | lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h b/lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h deleted file mode 100644 index 4e78ce7b7..000000000 --- a/lib/lufa/Projects/Webserver/Lib/uip/uip_arp.h +++ /dev/null | |||
| @@ -1,146 +0,0 @@ | |||
| 1 | /** | ||
| 2 | * \addtogroup uip | ||
| 3 | * @{ | ||
| 4 | */ | ||
| 5 | |||
| 6 | /** | ||
| 7 | * \addtogroup uiparp | ||
| 8 | * @{ | ||
| 9 | */ | ||
| 10 | |||
| 11 | /** | ||
| 12 | * \file | ||
| 13 | * Macros and definitions for the ARP module. | ||
| 14 | * \author Adam Dunkels <adam@dunkels.com> | ||
| 15 | */ | ||
| 16 | |||
| 17 | |||
| 18 | /* | ||
| 19 | * Copyright (c) 2001-2003, Adam Dunkels. | ||
| 20 | * All rights reserved. | ||
| 21 | * | ||
| 22 | * Redistribution and use in source and binary forms, with or without | ||
| 23 | * modification, are permitted provided that the following conditions | ||
| 24 | * are met: | ||
| 25 | * 1. Redistributions of source code must retain the above copyright | ||
| 26 | * notice, this list of conditions and the following disclaimer. | ||
| 27 | * 2. Redistributions in binary form must reproduce the above copyright | ||
| 28 | * notice, this list of conditions and the following disclaimer in the | ||
| 29 | * documentation and/or other materials provided with the distribution. | ||
| 30 | * 3. The name of the author may not be used to endorse or promote | ||
| 31 | * products derived from this software without specific prior | ||
| 32 | * written permission. | ||
| 33 | * | ||
| 34 | * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS | ||
| 35 | * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
| 36 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE | ||
| 37 | * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY | ||
| 38 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||
| 39 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE | ||
| 40 | * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||
| 41 | * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, | ||
| 42 | * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||
| 43 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
| 44 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
| 45 | * | ||
| 46 | * This file is part of the uIP TCP/IP stack. | ||
| 47 | * | ||
| 48 | * $Id: uip_arp.h,v 1.2 2006/08/26 23:58:45 oliverschmidt Exp $ | ||
| 49 | * | ||
| 50 | */ | ||
| 51 | |||
| 52 | #ifndef __UIP_ARP_H__ | ||
| 53 | #define __UIP_ARP_H__ | ||
| 54 | |||
| 55 | #include "uip.h" | ||
| 56 | |||
| 57 | |||
| 58 | extern struct uip_eth_addr uip_ethaddr; | ||
| 59 | |||
| 60 | /** | ||
| 61 | * The Ethernet header. | ||
| 62 | */ | ||
| 63 | struct uip_eth_hdr { | ||
| 64 | struct uip_eth_addr dest; | ||
| 65 | struct uip_eth_addr src; | ||
| 66 | u16_t type; | ||
| 67 | }; | ||
| 68 | |||
| 69 | #define UIP_ETHTYPE_ARP 0x0806 | ||
| 70 | #define UIP_ETHTYPE_IP 0x0800 | ||
| 71 | #define UIP_ETHTYPE_IPV6 0x86dd | ||
| 72 | |||
| 73 | |||
| 74 | /* The uip_arp_init() function must be called before any of the other | ||
| 75 | ARP functions. */ | ||
| 76 | void uip_arp_init(void); | ||
| 77 | |||
| 78 | /* The uip_arp_ipin() function should be called whenever an IP packet | ||
| 79 | arrives from the Ethernet. This function refreshes the ARP table or | ||
| 80 | inserts a new mapping if none exists. The function assumes that an | ||
| 81 | IP packet with an Ethernet header is present in the uip_buf buffer | ||
| 82 | and that the length of the packet is in the uip_len variable. */ | ||
| 83 | /*void uip_arp_ipin(void);*/ | ||
| 84 | #define uip_arp_ipin() | ||
| 85 | |||
| 86 | /* The uip_arp_arpin() should be called when an ARP packet is received | ||
| 87 | by the Ethernet driver. This function also assumes that the | ||
| 88 | Ethernet frame is present in the uip_buf buffer. When the | ||
| 89 | uip_arp_arpin() function returns, the contents of the uip_buf | ||
| 90 | buffer should be sent out on the Ethernet if the uip_len variable | ||
| 91 | is > 0. */ | ||
| 92 | void uip_arp_arpin(void); | ||
| 93 | |||
| 94 | /* The uip_arp_out() function should be called when an IP packet | ||
| 95 | should be sent out on the Ethernet. This function creates an | ||
| 96 | Ethernet header before the IP header in the uip_buf buffer. The | ||
| 97 | Ethernet header will have the correct Ethernet MAC destination | ||
| 98 | address filled in if an ARP table entry for the destination IP | ||
| 99 | address (or the IP address of the default router) is present. If no | ||
| 100 | such table entry is found, the IP packet is overwritten with an ARP | ||
| 101 | request and we rely on TCP to retransmit the packet that was | ||
| 102 | overwritten. In any case, the uip_len variable holds the length of | ||
| 103 | the Ethernet frame that should be transmitted. */ | ||
| 104 | void uip_arp_out(void); | ||
| 105 | |||
| 106 | /* The uip_arp_timer() function should be called every ten seconds. It | ||
| 107 | is responsible for flushing old entries in the ARP table. */ | ||
| 108 | void uip_arp_timer(void); | ||
| 109 | |||
| 110 | /** @} */ | ||
| 111 | |||
| 112 | /** | ||
| 113 | * \addtogroup uipconffunc | ||
| 114 | * @{ | ||
| 115 | */ | ||
| 116 | |||
| 117 | |||
| 118 | /** | ||
| 119 | * Specifiy the Ethernet MAC address. | ||
| 120 | * | ||
| 121 | * The ARP code needs to know the MAC address of the Ethernet card in | ||
| 122 | * order to be able to respond to ARP queries and to generate working | ||
| 123 | * Ethernet headers. | ||
| 124 | * | ||
| 125 | * \note This macro only specifies the Ethernet MAC address to the ARP | ||
| 126 | * code. It cannot be used to change the MAC address of the Ethernet | ||
| 127 | * card. | ||
| 128 | * | ||
| 129 | * \param eaddr A pointer to a struct uip_eth_addr containing the | ||
| 130 | * Ethernet MAC address of the Ethernet card. | ||
| 131 | * | ||
| 132 | * \hideinitializer | ||
| 133 | */ | ||
| 134 | #define uip_setethaddr(eaddr) do {uip_ethaddr.addr[0] = eaddr.addr[0]; \ | ||
| 135 | uip_ethaddr.addr[1] = eaddr.addr[1];\ | ||
| 136 | uip_ethaddr.addr[2] = eaddr.addr[2];\ | ||
| 137 | uip_ethaddr.addr[3] = eaddr.addr[3];\ | ||
| 138 | uip_ethaddr.addr[4] = eaddr.addr[4];\ | ||
| 139 | uip_ethaddr.addr[5] = eaddr.addr[5];} while(0) | ||
| 140 | |||
| 141 | /** @} */ | ||
| 142 | |||
| 143 | |||
| 144 | #endif /* __UIP_ARP_H__ */ | ||
| 145 | /** @} */ | ||
| 146 | |||
