master/module.c
changeset 2054 3417bbc4ad2f
parent 1930 59a50053ccc6
child 2060 8b67602f5161
--- a/master/module.c	Thu Mar 03 09:05:40 2011 +0100
+++ b/master/module.c	Wed Mar 16 22:12:23 2011 +0100
@@ -611,6 +611,37 @@
     return ECRT_VERSION_MAGIC;
 }
 
+
+
+/** Return pointer to running master
+/*****************************************************************************/
+ec_master_t *ecrt_attach_master(unsigned int master_index)
+{
+    ec_master_t *master = NULL;
+
+    EC_INFO("Requesting master %u...\n", master_index);
+
+    if (master_index >= master_count) {
+        EC_ERR("Invalid master index %u.\n", master_index);
+        return master;
+    }
+
+    master = &masters[master_index];
+    if (master->reserved) 
+      {
+       // ok master is attached
+        EC_INFO("attaching Master %u!\n", master_index);
+      }
+    else
+      {
+        EC_ERR("No Master %u in use!\n", master_index);
+        master = NULL;
+    }
+    return master;
+}
+
+
+
 /*****************************************************************************/
 
 /** Global request state type translation table.
@@ -637,6 +668,7 @@
 EXPORT_SYMBOL(ecrt_request_master);
 EXPORT_SYMBOL(ecrt_release_master);
 EXPORT_SYMBOL(ecrt_version_magic);
+EXPORT_SYMBOL(ecrt_attach_master);
 
 /** \endcond */