aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/satrm.c44
1 files changed, 43 insertions, 1 deletions
diff --git a/src/satrm.c b/src/satrm.c
index 7c257ed..36a8b26 100644
--- a/src/satrm.c
+++ b/src/satrm.c
@@ -19,12 +19,54 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
* DEALINGS IN THE SOFTWARE.
*/
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+#include "client.h"
+
+/**
+ * The name of the process.
+ */
+char *argv0 = "satrm";
+
+
+
+/**
+ * Print usage information.
+ */
+static void
+usage(void)
+{
+ fprintf(stderr, "usage: %s JOB-ID\n",
+ strrchr(argv0) ? (strrchr(argv0) + 1) : argv0);
+ exit(2);
+}
+
+
+/**
+ * Remove a job from the queue of jobs.
+ *
+ * @param argc Should be 2.
+ * @param argv The command line, should only include the name
+ * of the process and the ID of the job to remove.
+ * @return 0 The process was successful.
+ * @return 1 The process failed queuing the job.
+ * @return 2 User error, you do not know what you are doing.
+ * @return 3 satd(1) failed.
+ */
int
main(int argc, char *argv[])
{
- /* TODO remove a job from the queue */
+ if (argc != 2) {
+ usage();
+ }
+ argv0 = argv[0];
+
+ if (send_command(0, argv[1]))
+ return errno ? (perror(argv0), 1) : 3;
+ return 0;
}