BlinkenArea - GitList
Repositories
Blog
Wiki
mips_sys
Code
Commits
Branches
Tags
Search
Tree:
cc0f06d
Branches
Tags
master
mips_sys
fw
nethelp.h
implementation of ethernet and ARP (not completely working yet, hangs on received ARP request)
Stefan Schuermans
commited
cc0f06d
at 2012-03-17 01:03:19
nethelp.h
Blame
History
Raw
#ifndef NETHELP_H #define NETHELP_H // byte order #define ntohs(n) (((unsigned short)(n) & 0xFF00) >> 8 | \ ((unsigned short)(n) & 0x00FF) << 8) #define htons(h) (((unsigned short)(h) & 0xFF00) >> 8 | \ ((unsigned short)(h) & 0x00FF) << 8) #define ntohl(n) (((unsigned int)(n) & 0xFF000000) >> 24 | \ ((unsigned int)(n) & 0x00FF0000) >> 8 | \ ((unsigned int)(n) & 0x0000FF00) << 8 | \ ((unsigned int)(n) & 0x000000FF) << 24) #define htonl(h) (((unsigned int)(h) & 0xFF000000) >> 24 | \ ((unsigned int)(h) & 0x00FF0000) >> 8 | \ ((unsigned int)(h) & 0x0000FF00) << 8 | \ ((unsigned int)(h) & 0x000000FF) << 24) // comparing MACs and IPs #define mac_eq(a, b) ((a)[0] == (b)[0] && (a)[1] == (b)[1] && \ (a)[2] == (b)[2] && (a)[3] == (b)[3] && \ (a)[4] == (b)[4] && (a)[5] == (b)[5]) #define ip_eq(a, b) ((a)[0] == (b)[0] && (a)[1] == (b)[1] && \ (a)[2] == (b)[2] && (a)[3] == (b)[3]) // copying MACs and IPs #define mac_cpy(dest, src) ((dest)[0] = (src)[0], (dest)[1] = (src)[1], \ (dest)[2] = (src)[2], (dest)[3] = (src)[3], \ (dest)[4] = (src)[4], (dest)[5] = (src)[5]) #define ip_cpy(dest, src) ((dest)[0] = (src)[0], (dest)[1] = (src)[1], \ (dest)[2] = (src)[2], (dest)[3] = (src)[3]) #endif // #ifndef NETHELP_H