void *m_data;
int m_len; /* length in this mbuf */
int m_flags;
+#ifdef __linux__
#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
struct nf_info *queue_entry;
#else
struct nf_queue_entry *queue_entry;
+#endif
+#else /* _WIN32 */
+ int direction; /* could go in rcvif */
+ NDIS_HANDLE context; /* replaces queue_entry or skb ?*/
+ PNDIS_PACKET pkt;
#endif
struct sk_buff *m_skb;
struct {
+#ifdef __linux__
struct net_device *rcvif;
+#else
+ struct ifnet *rcvif;
+#endif
int len; /* total packet len */
SLIST_HEAD (packet_tags, m_tag) tags;
} m_pkthdr;
free(m, M_IPFW);
};
-/* we cannot pullup */
-//#define m_pullup(__m, __i) (m)
+/* m_pullup is not supported, there is a macro in missing.h */
#define M_GETFIB(_m) 0
-#endif /* !__linux__ */
+#endif /* __linux__ || _WIN32 */
/*
* Persistent tags stay with an mbuf until the mbuf is reclaimed. Otherwise