Some comments
-static ssize_t list_ipcps(char * name,
- pid_t ** pids)
+static ssize_t list_ipcps(ipcp_info_msg_t *** ipcps,
- return count;
+ return 0;
+
+ fail_mem:
+ while (i > 0) {
+ free((*ipcps)[i]->layer);
+ free((*ipcps)[i]->name);
+ free(*ipcps[--i]);
+ }
+ free(*ipcps);
+ *n_ipcps = 0;
+ return -ENOMEM;
+
+ fail_malloc:
+ while (i > 0)
+ free(*ipcps[--i]);
+ free(*ipcps);
+ *n_ipcps = 0;
+ return -ENOMEM;
}
--- a/src/lib/ipcpd_messages.proto
+++ b/src/lib/ipcpd_messages.proto
@@ -40,15 +40,14 @@ enum ipcp_msg_code {
message ipcp_msg {
required ipcp_msg_code code = 1;
- optional string name = 2;
optional bytes hash = 3;
optional int32 port_id = 4;
- optional string dst_name = 5;
+ optional string dst = 5;
optional uint32 qoscube = 6;
optional ipcp_config_msg conf = 7;
optional int32 pid = 8;
optional layer_info_msg layer_info = 9;
optional int32 response = 10;
- optional string comp_name = 11;
+ optional string comp = 11;
optional int32 result = 12;
};
--- a/src/tools/irm/irm_ipcp_bootstrap.c
+++ b/src/tools/irm/irm_ipcp_bootstrap.c
@@ -36,6 +36,12 @@