lib/master.c
branchstable-1.5
changeset 2419 fdb85a806585
parent 2380 cf9db49bcce8
child 2426 58572b4208ba
--- a/lib/master.c	Thu Sep 06 14:40:10 2012 +0200
+++ b/lib/master.c	Thu Sep 06 18:28:57 2012 +0200
@@ -256,8 +256,9 @@
 {
     ec_ioctl_slave_sync_t data;
 
-    if (sync_index >= EC_MAX_SYNC_MANAGERS)
+    if (sync_index >= EC_MAX_SYNC_MANAGERS) {
         return -ENOENT;
+    }
 
     memset(&data, 0x00, sizeof(ec_ioctl_slave_sync_t));
     data.slave_position = slave_position;
@@ -552,6 +553,21 @@
 
 /*****************************************************************************/
 
+int ecrt_master_link_state(const ec_master_t *master, unsigned int dev_idx,
+        ec_master_link_state_t *state)
+{
+    ec_ioctl_link_state_t io;
+
+    io.dev_idx = dev_idx;
+    io.state = state;
+    if (ioctl(master->fd, EC_IOCTL_MASTER_LINK_STATE, &io) == -1) {
+        fprintf(stderr, "Failed to get link state: %s\n", strerror(errno));
+        return -errno;
+    }
+}
+
+/*****************************************************************************/
+
 void ecrt_master_application_time(ec_master_t *master, uint64_t app_time)
 {
     ec_ioctl_app_time_t data;