--- a/master/mailbox.h Thu Sep 06 14:21:02 2012 +0200
+++ b/master/mailbox.h Mon Nov 03 15:20:05 2014 +0100
@@ -37,8 +37,7 @@
#ifndef __EC_MAILBOX_H__
#define __EC_MAILBOX_H__
-#include "globals.h"
-#include "datagram.h"
+#include "slave.h"
/*****************************************************************************/
@@ -48,63 +47,12 @@
/*****************************************************************************/
-/** EtherCAT slave mailbox.
- */
-struct ec_mailbox
-{
- ec_datagram_t *datagram; /**< Datagram used for the mailbox content. */
-#ifdef EC_REDUCE_MBOXFRAMESIZE
- ec_datagram_t end_datagram; /**< Datagram used for writing the end byte to
- the mailbox. */
-#endif
-};
-typedef struct ec_mailbox ec_mailbox_t; /**< \see ec_mailbox. */
-
-/*****************************************************************************/
-
-void ec_mbox_init(ec_mailbox_t *, ec_datagram_t *);
-void ec_mbox_clear(ec_mailbox_t *);
-
-/**
- Checks the datagrams states.
-*/
-static inline int ec_mbox_is_datagram_state(
- ec_mailbox_t *mbox,
- ec_datagram_state_t state
- )
-{
- return (mbox->datagram->state == state)
-#ifdef EC_REDUCE_MBOXFRAMESIZE
- && (mbox->end_datagram.type == EC_DATAGRAM_NONE
- || mbox->end_datagram.state == state)
-#endif
- ;
-}
-
-/**
- Checks the datagrams working counter.
-*/
-static inline int ec_mbox_is_datagram_wc(
- ec_mailbox_t *mbox,
- size_t wc
- )
-{
- return (mbox->datagram->working_counter == wc)
-#ifdef EC_REDUCE_MBOXFRAMESIZE
- && (mbox->end_datagram.type == EC_DATAGRAM_NONE
- || mbox->end_datagram.working_counter == wc)
-#endif
- ;
-}
-
-void ec_slave_mbox_queue_datagrams(const ec_slave_t *, ec_mailbox_t *);
-void ec_master_mbox_queue_datagrams(ec_master_t *, ec_mailbox_t *);
-uint8_t *ec_slave_mbox_prepare_send(const ec_slave_t *, ec_mailbox_t *,
+uint8_t *ec_slave_mbox_prepare_send(const ec_slave_t *, ec_datagram_t *,
uint8_t, size_t);
-int ec_slave_mbox_prepare_check(const ec_slave_t *, ec_mailbox_t *);
-int ec_slave_mbox_check(ec_mailbox_t *);
-int ec_slave_mbox_prepare_fetch(const ec_slave_t *, ec_mailbox_t *);
-uint8_t *ec_slave_mbox_fetch(const ec_slave_t *, ec_mailbox_t *,
+int ec_slave_mbox_prepare_check(const ec_slave_t *, ec_datagram_t *);
+int ec_slave_mbox_check(const ec_datagram_t *);
+int ec_slave_mbox_prepare_fetch(const ec_slave_t *, ec_datagram_t *);
+uint8_t *ec_slave_mbox_fetch(const ec_slave_t *, const ec_datagram_t *,
uint8_t *, size_t *);
/*****************************************************************************/