A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

arp/arphdr.h

Committer:
andrewboyson
Date:
2019-09-29
Revision:
160:6a1d1d368f80
Parent:
136:8a65abb0dc63

File content as of revision 160:6a1d1d368f80:

#include <stdint.h>

extern char* ArpHdrPtrHardwareType      (char* pPacket);
extern char* ArpHdrPtrProtocolType      (char* pPacket);
extern char* ArpHdrPtrHardwareLength    (char* pPacket);
extern char* ArpHdrPtrProtocolLength    (char* pPacket);
extern char* ArpHdrPtrOpCode            (char* pPacket);
extern char* ArpHdrPtrSenderHardwareAddr(char* pPacket);
extern char* ArpHdrPtrSenderProtocolAddr(char* pPacket);
extern char* ArpHdrPtrTargetHardwareAddr(char* pPacket);
extern char* ArpHdrPtrTargetProtocolAddr(char* pPacket);
extern const int ARP_HEADER_LENGTH;

extern int16_t  ArpHdrGetHardwareType      (char* pPacket);
extern int16_t  ArpHdrGetProtocolType      (char* pPacket);
extern int8_t   ArpHdrGetHardwareLength    (char* pPacket);
extern int8_t   ArpHdrGetProtocolLength    (char* pPacket);
extern int16_t  ArpHdrGetOpCode            (char* pPacket);
extern uint32_t ArpHdrGetSenderProtocolAddr(char* pPacket);
extern uint32_t ArpHdrGetTargetProtocolAddr(char* pPacket);

extern void     ArpHdrSetHardwareType      (char* pPacket,  int16_t value);
extern void     ArpHdrSetProtocolType      (char* pPacket,  int16_t value);
extern void     ArpHdrSetHardwareLength    (char* pPacket,  int8_t  value);
extern void     ArpHdrSetProtocolLength    (char* pPacket,  int8_t  value);
extern void     ArpHdrSetOpCode            (char* pPacket,  int16_t value);
extern void     ArpHdrSetSenderProtocolAddr(char* pPacket, uint32_t value);
extern void     ArpHdrSetTargetProtocolAddr(char* pPacket, uint32_t value);