--- 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;