diff -r e7f3e485c5b8 -r dcfd406e7786 master/ethernet.h --- 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;