--- a/lib/master.c Thu Jul 09 14:08:16 2009 +0000
+++ b/lib/master.c Fri Jul 10 09:36:50 2009 +0000
@@ -42,6 +42,17 @@
/*****************************************************************************/
+int ecrt_master_reserve(ec_master_t *master)
+{
+ if (ioctl(master->fd, EC_IOCTL_REQUEST, NULL) == -1) {
+ fprintf(stderr, "Failed to reserve master: %s\n",
+ strerror(errno));
+ return -1;
+ }
+}
+
+/*****************************************************************************/
+
ec_domain_t *ecrt_master_create_domain(ec_master_t *master)
{
ec_domain_t *domain;
@@ -101,6 +112,25 @@
return sc;
}
+
+/*****************************************************************************/
+
+int ecrt_master(ec_master_t* master,
+ ec_master_info_t *master_info)
+{
+ ec_ioctl_master_t data;
+ if (ioctl(master->fd, EC_IOCTL_MASTER, &data) < 0) {
+ fprintf(stderr, "Failed to get master info: %s\n",
+ strerror(errno));
+ return -1;
+ }
+ master_info->slave_count = data.slave_count;
+ master_info->link_up = data.devices[0].link_state;
+ master_info->app_time = data.app_time;
+ return 0;
+}
+
+
/*****************************************************************************/
int ecrt_master_slave(ec_master_t *master, uint16_t position,