master/slave.h
changeset 610 29489a43ecee
parent 601 d6d951b766e3
child 611 16498ed938f4
--- a/master/slave.h	Mon Mar 05 09:10:02 2007 +0000
+++ b/master/slave.h	Mon Mar 05 09:55:39 2007 +0000
@@ -72,6 +72,12 @@
 }
 ec_slave_state_t;
 
+typedef enum {
+    EC_SLAVE_OFFLINE,
+    EC_SLAVE_ONLINE
+}
+ec_slave_online_state_t;
+
 /*****************************************************************************/
 
 /**
@@ -195,11 +201,11 @@
     struct kobject kobj; /**< kobject */
     ec_master_t *master; /**< master owning the slave */
 
-    ec_slave_state_t requested_state; /**< requested slave state */
-    ec_slave_state_t current_state; /**< current slave state */
+    ec_slave_state_t requested_state; /**< requested application state */
+    ec_slave_state_t current_state; /**< current application state */
     unsigned int self_configured; /**< slave was configured by this master */
     unsigned int error_flag; /**< stop processing after an error */
-    unsigned int online; /**< non-zero, if the slave responds. */
+    unsigned int online_state; /**< online state */
 
     // addresses
     uint16_t ring_position; /**< ring position */
@@ -266,6 +272,8 @@
                           const ec_sii_sync_t *);
 
 void ec_slave_request_state(ec_slave_t *, ec_slave_state_t);
+void ec_slave_set_state(ec_slave_t *, ec_slave_state_t);
+void ec_slave_set_online_state(ec_slave_t *, ec_slave_online_state_t);
 
 // SII categories
 int ec_slave_fetch_strings(ec_slave_t *, const uint8_t *);