aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMattias Andrée <maandree@member.fsf.org>2015-12-25 21:45:21 +0100
committerMattias Andrée <maandree@member.fsf.org>2015-12-25 21:45:21 +0100
commit52fd86ab718439b6be29b8807dc52c71bc1567a6 (patch)
tree70b3e55b49145d829ebf8f83722f3a93e27119cc
parentit shall be possible to slect jobs in satr (diff)
downloadsat-52fd86ab718439b6be29b8807dc52c71bc1567a6.tar.gz
sat-52fd86ab718439b6be29b8807dc52c71bc1567a6.tar.bz2
sat-52fd86ab718439b6be29b8807dc52c71bc1567a6.tar.xz
improve send_command
Signed-off-by: Mattias Andrée <maandree@member.fsf.org>
-rw-r--r--src/client.c13
-rw-r--r--src/client.h39
-rw-r--r--src/satq.c2
-rw-r--r--src/satr.c2
-rw-r--r--src/satrm.c2
5 files changed, 37 insertions, 21 deletions
diff --git a/src/client.c b/src/client.c
index 5f4ad00..fb08c49 100644
--- a/src/client.c
+++ b/src/client.c
@@ -33,21 +33,16 @@ extern char *argv0;
/**
* Send a command to satd. Start satd if it is not running.
*
- * If `n` is 0 but `msg` is not `NULL`, `msg` is a
- * NUL-terminated string with the ID of the job to
- * remove for the queue. `msg` should otherwise,
- * unless it is `NULL` be the command the run, followed
- * by its environment.
- *
- * @param n The length of the message, or a number
- * number to send if `msg` is `NULL`.
+ * @param cmd Command type.
+ * @param n The length of the message, 0 if `msg` is
+ * `NULL` or NUL-terminated.
* @param msg The message to send.
* @return Zero on success.
*
* @throws 0 Error at the daemon-side.
*/
int
-send_command(size_t n, const char *restrict msg)
+send_command(enum command cmd, size_t n, const char *restrict msg)
{
return 0 /* TODO */
}
diff --git a/src/client.h b/src/client.h
index f64da2c..2e5cf9d 100644
--- a/src/client.h
+++ b/src/client.h
@@ -22,22 +22,43 @@
#include <stddef.h>
+/**
+ * Commands for `send_command`.
+ */
+enum command
+ {
+ /**
+ * Queue a job.
+ */
+ SAT_QUEUE = 0,
+
+ /**
+ * Remove jobs.
+ */
+ SAT_REMOVE = 1,
+
+ /**
+ * Print job queue.
+ */
+ SAT_PRINT = 2,
+
+ /**
+ * Run jobs
+ */
+ SAT_RUN = 3
+ };
+
/**
* Send a command to satd. Start satd if it is not running.
*
- * If `n` is 0 but `msg` is not `NULL`, `msg` is a
- * NUL-terminated string with the ID of the job to
- * remove for the queue. `msg` should otherwise,
- * unless it is `NULL` be the command the run, followed
- * by its environment.
- *
- * @param n The length of the message, or a number
- * number to send if `msg` is `NULL`.
+ * @param cmd Command type.
+ * @param n The length of the message, 0 if `msg` is
+ * `NULL` or NUL-terminated.
* @param msg The message to send.
* @return Zero on success.
*
* @throws 0 Error at the daemon-side.
*/
-int send_command(size_t n, const char *restrict msg);
+int send_command(enum command cmd, size_t n, const char *restrict msg);
diff --git a/src/satq.c b/src/satq.c
index f1c29b2..73b61ac 100644
--- a/src/satq.c
+++ b/src/satq.c
@@ -62,7 +62,7 @@ main(int argc, char *argv[])
if (argc > 0) argv0 = argv[0];
if (argc > 1) usage();
- if (send_command(0, NULL))
+ if (send_command(SAT_PRINT, 0, NULL))
return errno ? (perror(argv0), 1) : 3;
return 0;
}
diff --git a/src/satr.c b/src/satr.c
index 11317c7..df85ee2 100644
--- a/src/satr.c
+++ b/src/satr.c
@@ -62,7 +62,7 @@ main(int argc, char *argv[])
if (argc > 0) argv0 = argv[0];
if (argc > 1) usage(); /* TODO possibility to select job */
- if (send_command(1, NULL))
+ if (send_command(SAT_RUN, 0, NULL))
return errno ? (perror(argv0), 1) : 3;
return 0;
}
diff --git a/src/satrm.c b/src/satrm.c
index e1280bc..b3dafcd 100644
--- a/src/satrm.c
+++ b/src/satrm.c
@@ -63,7 +63,7 @@ main(int argc, char *argv[])
if (argc > 0) argv0 = argv[0];
if (argc != 2) usage();
- if (send_command(0, argv[1]))
+ if (send_command(SAT_REMOVE, 0, argv[1]))
return errno ? (perror(argv0), 1) : 3;
return 0;
}