summaryrefslogtreecommitdiff
path: root/src/lib/irm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/irm.c')
-rw-r--r--src/lib/irm.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/src/lib/irm.c b/src/lib/irm.c
index 384da7b0..bf10ae3f 100644
--- a/src/lib/irm.c
+++ b/src/lib/irm.c
@@ -173,17 +173,22 @@ int irm_bootstrap_ipcp(pid_t pid,
int irm_connect_ipcp(pid_t pid,
const char * dst,
- const char * component)
+ const char * component,
+ qosspec_t qs)
{
- irm_msg_t msg = IRM_MSG__INIT;
- irm_msg_t * recv_msg = NULL;
- int ret;
+ irm_msg_t msg = IRM_MSG__INIT;
+ qosspec_msg_t qs_msg = QOSSPEC_MSG__INIT;
+ irm_msg_t * recv_msg;
+ int ret;
+
msg.code = IRM_MSG_CODE__IRM_CONNECT_IPCP;
msg.dst = (char *) dst;
msg.comp = (char *) component;
msg.has_pid = true;
msg.pid = pid;
+ qs_msg = spec_to_msg(&qs);
+ msg.qosspec = &qs_msg;
recv_msg = send_recv_irm_msg(&msg);
if (recv_msg == NULL)
@@ -204,8 +209,8 @@ int irm_disconnect_ipcp(pid_t pid,
const char * dst,
const char * component)
{
- irm_msg_t msg = IRM_MSG__INIT;
- irm_msg_t * recv_msg = NULL;
+ irm_msg_t msg = IRM_MSG__INIT;
+ irm_msg_t * recv_msg;
int ret;
msg.code = IRM_MSG_CODE__IRM_DISCONNECT_IPCP;
@@ -231,10 +236,10 @@ int irm_disconnect_ipcp(pid_t pid,
ssize_t irm_list_ipcps(struct ipcp_info ** ipcps)
{
- irm_msg_t msg = IRM_MSG__INIT;
+ irm_msg_t msg = IRM_MSG__INIT;
irm_msg_t * recv_msg;
- size_t nr;
- size_t i;
+ size_t nr;
+ size_t i;
if (ipcps == NULL)
return -EINVAL;