typedef struct sMacAddr tMacAddr;
typedef struct sAdapter tAdapter;
typedef struct sInterface tInterface;
typedef struct sMacAddr tMacAddr;
typedef struct sAdapter tAdapter;
typedef struct sInterface tInterface;
typedef void (*tIPCallback)(tInterface *Interface, void *Address, int Length, void *Buffer);
union uIPv4 {
Uint32 L;
Uint8 B[4];
typedef void (*tIPCallback)(tInterface *Interface, void *Address, int Length, void *Buffer);
union uIPv4 {
Uint32 L;
Uint8 B[4];
static const tMacAddr cMAC_BROADCAST = {{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}};
#define MAC_SET(t,v) memcpy(&(t),&(v),sizeof(tMacAddr))
#define IP4_SET(t,v) (t).L = (v).L;
#define IP6_SET(t,v) memcpy(&(t),&(v),sizeof(tIPv6))
static const tMacAddr cMAC_BROADCAST = {{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}};
#define MAC_SET(t,v) memcpy(&(t),&(v),sizeof(tMacAddr))
#define IP4_SET(t,v) (t).L = (v).L;
#define IP6_SET(t,v) memcpy(&(t),&(v),sizeof(tIPv6))
-#define MAC_EQU(a,b) memcmp(&(a),&(b),sizeof(tMacAddr))
+#define MAC_EQU(a,b) (memcmp(&(a),&(b),sizeof(tMacAddr))==0)
-#define IP6_EQU(a,b) memcmp(&(a),&(b),sizeof(tIPv6))
+#define IP6_EQU(a,b) (memcmp(&(a),&(b),sizeof(tIPv6))==0)
-#define ntohs(in) BigEndian16(in)
-#define ntohl(in) BigEndian16(in)
+#define ntohs(v) BigEndian16(v)
+#define ntohl(v) BigEndian32(v)
+
+extern int IPStack_AddFile(tSocketFile *File);