/*
- * Copyright (C) 2005-2013 Andre Noll <maan@systemlinux.org>
+ * Copyright (C) 2005-2014 Andre Noll <maan@tuebingen.mpg.de>
*
* Licensed under the GPL v2. For licencing details see COPYING.
*/
/** \file audiod_command.c Commands for para_audiod. */
+#include <netinet/in.h>
+#include <sys/socket.h>
#include <regex.h>
#include <sys/types.h>
+#include <arpa/inet.h>
+#include <sys/un.h>
+#include <netdb.h>
#include "para.h"
#include "audiod.cmdline.h"
#include "string.h"
#include "write.h"
#include "fd.h"
-#include "audiod_command_list.h"
+#include "version.h"
+#include "audiod.command_list.h"
extern struct sched sched;
extern char *stat_item_values[NUM_STAT_ITEMS];
return grab_client_new(fd, argc, argv, &sched);
}
-__noreturn static int com_term(int fd, __a_unused int argc, __a_unused char **argv)
+static int com_term(int fd, __a_unused int argc, __a_unused char **argv)
{
close(fd);
- clean_exit(EXIT_SUCCESS, "terminating on user request");
+ return -E_AUDIOD_TERM;
}
static int com_on(int fd, __a_unused int argc, __a_unused char **argv)
return 1;
}
+static int com_version(int fd, int argc, char **argv)
+{
+ int ret;
+ char *msg;
+
+ if (argc > 1 && strcmp(argv[1], "-v") == 0)
+ msg = make_message("%s", version_text("audiod"));
+ else
+ msg = make_message("%s\n", version_single_line("audiod"));
+ ret = client_write(fd, msg);
+ free(msg);
+ if (ret >= 0)
+ close(fd);
+ return ret;
+}
+
static int check_perms(uid_t uid)
{
int i;
free(new);
}
- new = get_server_uptime_str(now);
+ new = daemon_get_uptime_str(now);
old = stat_item_values[SI_AUDIOD_UPTIME];
if (force || !old || strcmp(old, new)) {
free(old);