master/ethernet.h
changeset 217 dcfd406e7786
parent 214 8beb86af5ed0
child 218 80fb87518f3d
--- a/master/ethernet.h	Fri May 05 14:45:02 2006 +0000
+++ b/master/ethernet.h	Mon May 08 16:46:43 2006 +0000
@@ -48,15 +48,26 @@
     EC_EOE_RX_CHECK, /**< checking frame was sent. */
     EC_EOE_RX_FETCH, /**< there is new data; fetching frame was sent. */
     EC_EOE_TX_START, /**< start sending a queued frame. */
-    EC_EOE_TX_SENT,  /**< queued frame was sent; start checking. */
-    EC_EOE_TX_CHECK, /**< check mailbox for acknowledgement. */
-    EC_EOE_TX_FETCH, /**< receive mailbox response */
+    EC_EOE_TX_SENT   /**< queued frame was sent. */
 }
 ec_eoe_state_t;
 
 /*****************************************************************************/
 
 /**
+   Queued frame structure.
+*/
+
+typedef struct
+{
+    struct list_head queue; /**< list item */
+    struct sk_buff *skb; /**< socket buffer */
+}
+ec_eoe_frame_t;
+
+/*****************************************************************************/
+
+/**
    Ethernet-over-EtherCAT (EoE) Object.
    The master creates one of these objects for each slave that supports the
    EoE protocol.
@@ -78,8 +89,10 @@
     unsigned int tx_queue_active; /**< kernel netif queue started */
     unsigned int queued_frames; /**< number of frames in the queue */
     spinlock_t tx_queue_lock; /**< spinlock for the send queue */
-    uint8_t tx_frame_number; /**< Number of the transmitted frame */
-    size_t last_tx_bytes; /**< number of bytes currently transmitted */
+    ec_eoe_frame_t *tx_frame; /**< current TX frame */
+    uint8_t tx_frame_number; /**< number of the transmitted frame */
+    uint8_t tx_fragment_number; /**< number of the fragment */
+    size_t tx_offset; /**< numbero of octets sent */
 }
 ec_eoe_t;