From 1b33714750a82407deb82128be1a38383dc4b6b3 Mon Sep 17 00:00:00 2001
From: Florian Pose <fp@igh-essen.com>
Date: Thu, 10 Jul 2008 09:36:47 +0000
Subject: [PATCH] Group/Image/Order strings in slave ioctl; order number as
 text content in XML Type element.

---
 master/cdev.c    | 3 +++
 master/ioctl.h   | 3 +++
 tools/Master.cpp | 7 +++++--
 3 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/master/cdev.c b/master/cdev.c
index 8865a92b..5c97a2e5 100644
--- a/master/cdev.c
+++ b/master/cdev.c
@@ -196,6 +196,9 @@ int ec_cdev_ioctl_slave(
     data.sync_count = slave->sii.sync_count;
     data.sdo_count = ec_slave_sdo_count(slave);
     data.sii_nwords = slave->sii_nwords;
+    ec_cdev_strcpy(data.group, slave->sii.group);
+    ec_cdev_strcpy(data.image, slave->sii.image);
+    ec_cdev_strcpy(data.order, slave->sii.order);
     ec_cdev_strcpy(data.name, slave->sii.name);
 
     up(&master->master_sem);
diff --git a/master/ioctl.h b/master/ioctl.h
index a170f96c..f5be8be1 100644
--- a/master/ioctl.h
+++ b/master/ioctl.h
@@ -120,6 +120,9 @@ typedef struct {
     uint8_t sync_count;
     uint16_t sdo_count;
     uint32_t sii_nwords;
+    char group[EC_IOCTL_STRING_SIZE];
+    char image[EC_IOCTL_STRING_SIZE];
+    char order[EC_IOCTL_STRING_SIZE];
     char name[EC_IOCTL_STRING_SIZE];
 } ec_ioctl_slave_t;
 
diff --git a/tools/Master.cpp b/tools/Master.cpp
index 7219999f..572ec8cf 100644
--- a/tools/Master.cpp
+++ b/tools/Master.cpp
@@ -1625,7 +1625,10 @@ void Master::showSlave(uint16_t slavePosition)
 
     if (slave.has_general_category) {
         cout << "General:" << endl
-            << "  Name: " << slave.name << endl;
+            << "  Group: " << slave.group << endl
+            << "  Image name: " << slave.image << endl
+            << "  Order number: " << slave.order << endl
+            << "  Device name: " << slave.name << endl;
 
         if (slave.mailbox_protocols & EC_MBOX_COE) {
             cout << "  CoE details:" << endl
@@ -1684,7 +1687,7 @@ void Master::generateSlaveXml(uint16_t slavePosition)
         << hex << setfill('0') << setw(8) << slave.product_code
         << "\" RevisionNo=\"#x"
         << hex << setfill('0') << setw(8) << slave.revision_number
-        << "\"/>" << endl;
+        << "\">" << slave.order << "</Type>" << endl;
 
     if (strlen(slave.name)) {
         cout
-- 
GitLab