master/master.h
changeset 251 c1d0b63a9302
parent 246 0bf7c769de06
child 268 4f9c149fb71f
--- a/master/master.h	Fri May 19 09:56:55 2006 +0000
+++ b/master/master.h	Fri May 19 13:23:11 2006 +0000
@@ -116,7 +116,9 @@
     ec_master_mode_t mode; /**< master mode */
 
     struct timer_list eoe_timer; /** EoE timer object */
-    struct list_head eoe_slaves; /**< Ethernet-over-EtherCAT slaves */
+    unsigned int eoe_running; /**< non-zero, if EoE processing is active. */
+    struct list_head eoe_handlers; /**< Ethernet-over-EtherCAT handlers */
+    spinlock_t internal_lock; /**< spinlock used in freerun mode */
     int (*request_cb)(void *); /**< lock request callback */
     void (*release_cb)(void *); /**< lock release callback */
     void *cb_data; /**< data parameter of locking callbacks */
@@ -125,7 +127,7 @@
 /*****************************************************************************/
 
 // master creation and deletion
-int ec_master_init(ec_master_t *, unsigned int);
+int ec_master_init(ec_master_t *, unsigned int, unsigned int);
 void ec_master_clear(struct kobject *);
 void ec_master_reset(ec_master_t *);
 
@@ -133,6 +135,10 @@
 void ec_master_freerun_start(ec_master_t *);
 void ec_master_freerun_stop(ec_master_t *);
 
+// EoE
+void ec_master_eoe_start(ec_master_t *);
+void ec_master_eoe_stop(ec_master_t *);
+
 // IO
 void ec_master_receive(ec_master_t *, const uint8_t *, size_t);
 void ec_master_queue_command(ec_master_t *, ec_command_t *);
@@ -143,6 +149,9 @@
 
 // misc.
 void ec_master_clear_slaves(ec_master_t *);
+void ec_sync_config(const ec_sync_t *, uint8_t *);
+void ec_eeprom_sync_config(const ec_eeprom_sync_t *, uint8_t *);
+void ec_fmmu_config(const ec_fmmu_t *, uint8_t *);
 void ec_master_output_stats(ec_master_t *);
 
 /*****************************************************************************/