aboutsummaryrefslogtreecommitdiffstats
path: root/pinguctl.c
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2013-08-22 14:43:24 +0200
committerNatanael Copa <ncopa@alpinelinux.org>2013-08-22 14:46:10 +0200
commitd3e49c4280f10584587fad83bc08c6a168c174d3 (patch)
tree9127d2f55556a0a049bef296c14da74e0b05904e /pinguctl.c
parent82ec45bb8abf8052a558e8ad589b66b34a0084fa (diff)
downloadpingu-d3e49c4280f10584587fad83bc08c6a168c174d3.tar.bz2
pingu-d3e49c4280f10584587fad83bc08c6a168c174d3.tar.xz
move soures to src subdir
Diffstat (limited to 'pinguctl.c')
-rw-r--r--pinguctl.c89
1 files changed, 0 insertions, 89 deletions
diff --git a/pinguctl.c b/pinguctl.c
deleted file mode 100644
index 02dbe14..0000000
--- a/pinguctl.c
+++ /dev/null
@@ -1,89 +0,0 @@
-
-#include <sys/socket.h>
-#include <sys/un.h>
-
-#include <errno.h>
-#include <stdio.h>
-#include <unistd.h>
-
-#include "log.h"
-#include "pingu_adm.h"
-
-static int adm_init(const char *socket_path)
-{
- struct sockaddr_un sun;
- int fd;
-
- memset(&sun, 0, sizeof(sun));
- sun.sun_family = AF_UNIX;
- strncpy(sun.sun_path, socket_path, sizeof(sun.sun_path));
-
- fd = socket(AF_UNIX, SOCK_STREAM, 0);
- if (fd < 0) {
- log_perror("socket");
- return -1;
- }
-
- if (connect(fd, (struct sockaddr *) &sun, sizeof(sun)) < 0) {
- log_perror(socket_path);
- close(fd);
- return -1;
- }
-
- return fd;
-}
-
-static int adm_send_cmd(int fd, const char *cmd)
-{
- char buf[256];
- size_t len;
-
- snprintf(buf, sizeof(buf), "%s\n", cmd);
- len = strlen(buf);
- if (write(fd, buf, len) != len)
- return -1;
- return len;
-}
-
-static int adm_recv(int fd)
-{
- char buf[1024];
- int n, total = 0;
-
- while (1) {
- n = recv(fd, buf, sizeof(buf), 0);
- if (n <= 0)
- break;
- write(STDOUT_FILENO, buf, n);
- total += n;
- }
- return total;
-}
-
-int main(int argc, char *argv[])
-{
- const char *socket_path = DEFAULT_ADM_SOCKET;
- int i, fd;
-
- while ((i = getopt(argc, argv, "a:")) != -1) {
- switch (i) {
- case 'a':
- socket_path = optarg;
- break;
- }
- argc -= optind;
- argv += optind;
- }
- log_init("pinguctl", 0);
- fd = adm_init(socket_path);
- if (fd < 0)
- return 1;
-
- for (i = 1; i < argc; i++) {
- if (adm_send_cmd(fd, argv[i]) < 0 || adm_recv(fd) < 0)
- return 1;
- }
-
- close(fd);
- return 0;
-}