Free (GPLv2) TCP/IP stack developed by TASS Belgium

Dependents:   lpc1768-picotcp-demo ZeroMQ_PicoTCP_Publisher_demo TCPSocket_HelloWorld_PicoTCP Pico_TCP_UDP_Test ... more

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers pico_arp.h Source File

pico_arp.h

00001 /*********************************************************************
00002    PicoTCP. Copyright (c) 2012 TASS Belgium NV. Some rights reserved.
00003    See LICENSE and COPYING for usage.
00004 
00005  *********************************************************************/
00006 #ifndef _INCLUDE_PICO_ARP
00007 #define _INCLUDE_PICO_ARP
00008 #include "pico_eth.h"
00009 #include "pico_device.h"
00010 
00011 int pico_arp_receive(struct pico_frame *);
00012 
00013 
00014 struct pico_eth *pico_arp_get(struct pico_frame *f);
00015 int32_t pico_arp_request(struct pico_device *dev, struct pico_ip4 *dst, uint8_t type);
00016 
00017 #define PICO_ARP_STATUS_REACHABLE 0x00
00018 #define PICO_ARP_STATUS_PERMANENT 0x01
00019 #define PICO_ARP_STATUS_STALE     0x02
00020 
00021 #define PICO_ARP_QUERY    0x00
00022 #define PICO_ARP_PROBE    0x01
00023 #define PICO_ARP_ANNOUNCE 0x02
00024 
00025 struct pico_eth *pico_arp_lookup(struct pico_ip4 *dst);
00026 struct pico_ip4 *pico_arp_reverse_lookup(struct pico_eth *dst);
00027 int pico_arp_create_entry(uint8_t*hwaddr, struct pico_ip4 ipv4, struct pico_device*dev);
00028 int pico_arp_get_neighbors(struct pico_device *dev, struct pico_ip4 *neighbors, int maxlen);
00029 void pico_arp_register_ipconflict(struct pico_ip4 *ip, struct pico_eth *mac, void (*cb)(void));
00030 void pico_arp_init(void);
00031 #endif