Sync with the new ipfw3 version.
[ipfw.git] / dummynet2 / include / sys / mbuf.h
index 12837bf..a752ebd 100644 (file)
@@ -64,14 +64,24 @@ struct mbuf {
        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;
@@ -173,12 +183,11 @@ m_freem(struct mbuf *m)
        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