typedef struct sMacAddr tMacAddr;
typedef struct sAdapter tAdapter;
typedef struct sInterface tInterface;
+typedef struct sSocketFile tSocketFile;
typedef void (*tIPCallback)(tInterface *Interface, void *Address, int Length, void *Buffer);
int NRef;
tMacAddr MacAddr;
+ int DeviceLen;
char Device[];
};
+/**
+ * \brief Describes a socket file definition
+ */
+struct sSocketFile
+{
+ struct sSocketFile *Next;
+ const char *Name;
+
+ tVFS_Node *(*Init)(tInterface *Interface);
+};
+
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 IP4_EQU(a,b) ((a).L==(b).L)
-#define IP6_EQU(a,b) memcmp(&(a),&(b),sizeof(tIPv6))
+#define IP6_EQU(a,b) (memcmp(&(a),&(b),sizeof(tIPv6))==0)
// === FUNCTIONS ===
#define htonb(v) (v)
#define ntohs(in) BigEndian16(in)
#define ntohl(in) BigEndian32(in)
+extern int IPStack_AddFile(tSocketFile *File);
+
#endif