From 10ab90bfc7d288d546e4ad797f332a45d1d7eaa2 Mon Sep 17 00:00:00 2001 From: Ben Kibbey Date: Tue, 16 Jan 2007 22:24:58 -0500 Subject: [PATCH] Added PWMD_RAW to send a raw protocol command. The result will be of type char*. --- libpwmd/libpwmd.c | 12 ++++++++++++ libpwmd/libpwmd.h | 11 ++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) diff --git a/libpwmd/libpwmd.c b/libpwmd/libpwmd.c index e98b51c5..30b783d0 100644 --- a/libpwmd/libpwmd.c +++ b/libpwmd/libpwmd.c @@ -615,6 +615,15 @@ int pwmd_command(pwm_t *pwm, void **result, int *error, pwmd_cmd cmd, ...) va_start(ap, cmd); switch (cmd) { + case PWMD_RAW: + arg1 = va_arg(ap, char *); + + if (send_to_daemon(pwm, "%s", arg1)) { + *error = errno; + va_end(ap); + return PWMD_ERROR; + } + break; case PWMD_OPEN: filename = va_arg(ap, char *); @@ -950,6 +959,9 @@ int pwmd_command(pwm_t *pwm, void **result, int *error, pwmd_cmd cmd, ...) return PWMD_ERROR; case PWMD_OK: switch (cmd) { + case PWMD_RAW: + *result = res; + break; case PWMD_OPEN: pwm->filename = strdup(filename); break; diff --git a/libpwmd/libpwmd.h b/libpwmd/libpwmd.h index ee2a54ae..77bf4a26 100644 --- a/libpwmd/libpwmd.h +++ b/libpwmd/libpwmd.h @@ -223,7 +223,16 @@ typedef enum { * * A result of NULL if successful. Takes no arguments. */ - PWMD_QUIT + PWMD_QUIT, + + /* + * PWMD_RAW + * + * A result of char* if successful. Sends a raw protocol command. The next + * argument is of type char* and is the command and any arguments + * including a newline character. + */ + PWMD_RAW, } pwmd_cmd; typedef struct { -- 2.11.4.GIT