diff dmargs.h @ 0:32250b436bca

Initial re-import.
author Matti Hamalainen <ccr@tnsp.org>
date Fri, 28 Sep 2012 01:54:23 +0300
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dmargs.h	Fri Sep 28 01:54:23 2012 +0300
@@ -0,0 +1,44 @@
+/*
+ * Simple commandline argument processing functions
+ * Programmed and designed by Matti 'ccr' Hamalainen
+ * (C) Copyright 2002-2008 Tecnic Software productions (TNSP)
+ *
+ * Please read file 'COPYING' for information on license and distribution.
+ */
+#ifndef DMARGS_H
+#define DMARGS_H
+
+#include "dmlib.h"
+#include <stdio.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Option flags
+ */
+#define OPT_NONE       (0)    // Simple option with no arguments
+#define OPT_ARGREQ     (1)    // Option's argument is required
+#define OPT_ARGOPT     (3)    // Option's argument is optional
+#define OPT_ARGMASK    (3)    // Mask for option argument flags
+#define OPT_REQUIRED   (4)    // This option is required to be given
+
+typedef struct {
+    int id;
+    char optShort;
+    char *optLong;
+    char *desc;
+    int flags;
+} DMOptArg;
+
+BOOL dmArgsProcess(int argc, char *argv[],
+     DMOptArg argList[], int argListN,
+     BOOL (*handleOpt)(int, char *, char *),
+     BOOL (*handleFile)(char *), BOOL);
+
+void dmArgsPrintHelp(FILE *, DMOptArg optList[], int optListN);
+
+#ifdef __cplusplus
+}
+#endif
+#endif // DMARGS_H