master/master.h
changeset 792 3778920f61e4
parent 758 8fa6f825eb7d
child 814 a51f857b1b2d
--- a/master/master.h	Thu Feb 14 09:18:55 2008 +0000
+++ b/master/master.h	Tue Feb 19 08:22:20 2008 +0000
@@ -53,12 +53,9 @@
 
 /*****************************************************************************/
 
-/**
-   EtherCAT master mode.
-*/
-
-typedef enum
-{
+/** EtherCAT master mode.
+ */
+typedef enum {
     EC_MASTER_MODE_ORPHANED,
     EC_MASTER_MODE_IDLE,
     EC_MASTER_MODE_OPERATION
@@ -67,12 +64,9 @@
 
 /*****************************************************************************/
 
-/**
-   Cyclic statistics.
-*/
-
-typedef struct
-{
+/** Cyclic statistics.
+ */
+typedef struct {
     unsigned int timeouts; /**< datagram timeouts */
     unsigned int corrupted; /**< corrupted frames */
     unsigned int unmatched; /**< unmatched datagrams (received, but not
@@ -83,11 +77,10 @@
 
 /*****************************************************************************/
 
-/**
-   EtherCAT master.
-   Manages slaves, domains and IO.
-*/
-
+/** EtherCAT master.
+ *
+ * Manages slaves, domains and IO.
+ */
 struct ec_master
 {
     struct kobject kobj; /**< kobject */
@@ -110,6 +103,9 @@
 
     struct list_head slaves; /**< list of slaves on the bus */
     unsigned int slave_count; /**< number of slaves on the bus */
+
+    struct list_head configs; /**< Bus configuration list. */
+    unsigned int configs_attached; /**< Slave configurations were attached. */
     
     ec_request_state_t scan_state; /**< current scanning state */
     unsigned int allow_scan; /**< non-zero, if slave scanning is allowed */
@@ -196,6 +192,7 @@
 void ec_master_queue_datagram(ec_master_t *, ec_datagram_t *);
 
 // misc.
+int ec_master_attach_slave_configs(ec_master_t *);
 void ec_master_output_stats(ec_master_t *);
 #ifdef EC_EOE
 void ec_master_clear_eoe_handlers(ec_master_t *);