lib/master.c
changeset 1494 6c632c8f45cc
parent 1441 27a8d6f97a95
child 1495 88f242b722ce
--- 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,