summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--digital/avr/modules/host/mex.h4
-rw-r--r--digital/avr/modules/host/mex.host.c7
-rw-r--r--digital/avr/modules/host/test/test_mex.c2
3 files changed, 13 insertions, 0 deletions
diff --git a/digital/avr/modules/host/mex.h b/digital/avr/modules/host/mex.h
index 82e65103..78e1368d 100644
--- a/digital/avr/modules/host/mex.h
+++ b/digital/avr/modules/host/mex.h
@@ -90,6 +90,10 @@ mex_msg_mtype (mex_msg_t *msg);
void
mex_node_connect (void);
+/** Query connection status, returns 0 if not connected. */
+int
+mex_node_connected (void);
+
/** Close connection. */
void
mex_node_close (void);
diff --git a/digital/avr/modules/host/mex.host.c b/digital/avr/modules/host/mex.host.c
index 8921cadd..349ee3b6 100644
--- a/digital/avr/modules/host/mex.host.c
+++ b/digital/avr/modules/host/mex.host.c
@@ -395,6 +395,13 @@ mex_node_connect (void)
}
}
+/** Query connection status, returns 0 if not connected. */
+int
+mex_node_connected (void)
+{
+ return mex_node_global.socket != -1;
+}
+
/** Close connection. */
void
mex_node_close (void)
diff --git a/digital/avr/modules/host/test/test_mex.c b/digital/avr/modules/host/test/test_mex.c
index e79e6f68..7d4badad 100644
--- a/digital/avr/modules/host/test/test_mex.c
+++ b/digital/avr/modules/host/test/test_mex.c
@@ -68,7 +68,9 @@ main (int argc, char **argv)
fprintf (stderr, "%s 1|2\n", argv[0]);
return 1;
}
+ assert (!mex_node_connected ());
mex_node_connect ();
+ assert (mex_node_connected ());
mtype_coucou1 = mex_node_reservef ("%s%d", "coucou", 1);
mtype_coucou2 = mex_node_reservef ("%s%d", "coucou", 2);
mtype_oucouc = mex_node_reserve ("oucouc");