aboutsummaryrefslogtreecommitdiffstats
path: root/Source/stroke
diff options
context:
space:
mode:
Diffstat (limited to 'Source/stroke')
-rw-r--r--Source/stroke/stroke.c14
-rw-r--r--Source/stroke/stroke.h4
2 files changed, 14 insertions, 4 deletions
diff --git a/Source/stroke/stroke.c b/Source/stroke/stroke.c
index e4876ced0..9ecda0413 100644
--- a/Source/stroke/stroke.c
+++ b/Source/stroke/stroke.c
@@ -146,13 +146,21 @@ static int terminate_connection(char *name)
return res;
}
-static int show_status()
+static int show_status(char *mode, char *connection)
{
stroke_msg_t *msg = malloc(sizeof(stroke_msg_t));
int res;
msg->length = sizeof(stroke_msg_t);
- msg->type = STR_STATUS;
+ if (strcmp(mode, "statusall") == 0)
+ {
+ msg->type = STR_STATUS_ALL;
+ }
+ else
+ {
+ msg->type = STR_STATUS;
+ }
+ msg->status.name = push_string(&msg, connection);
res = send_stroke_msg(msg);
free(msg);
return res;
@@ -240,7 +248,7 @@ int main(int argc, char *argv[])
if (strcmp(argv[1], "status") == 0 ||
strcmp(argv[1], "statusall") == 0)
{
- res = show_status();
+ res = show_status(argv[1], argc > 2 ? argv[2] : NULL);
}
else if (strcmp(argv[1], "up") == 0)
diff --git a/Source/stroke/stroke.h b/Source/stroke/stroke.h
index abafe79e9..cb40cf843 100644
--- a/Source/stroke/stroke.h
+++ b/Source/stroke/stroke.h
@@ -51,6 +51,8 @@ struct stroke_msg_t {
STR_TERMINATE,
/* show connection status */
STR_STATUS,
+ /* show verbose connection status */
+ STR_STATUS_ALL,
/* set a log type to log/not log */
STR_LOGTYPE,
/* set the verbosity of a logging context */
@@ -61,7 +63,7 @@ struct stroke_msg_t {
/* data for STR_INITIATE, STR_INSTALL, STR_UP, STR_DOWN */
struct {
char *name;
- } initiate, install, terminate;
+ } initiate, install, terminate, status;
/* data for STR_ADD_CONN */
struct {
char *name;