X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/91743040c1a98baaffc82ffff8306c2c9fd07285..5c17ab8c0a5b2f66dac19031fd5394377cf375bb:/src/tools.h?ds=inline
diff --git a/src/tools.h b/src/tools.h
index 3b496cd..c2c10ff 100644
--- a/src/tools.h
+++ b/src/tools.h
@@ -1,14 +1,47 @@
+/*
+ * 2ooM: The Master of Orion II Reverse Engineering Project
+ * Helper functions for liblbx command-line applications.
+ * Copyright © 2013 Nick Bowler
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
#ifndef TOOLS_H_
#define TOOLS_H_
-#include
+#include
+
+void tool_init(const char *name, int argc, char **argv);
+void tool_version(void);
+
+const char *tool_invocation(void);
+
+/*
+ * Error messaging routines. Similar to printf, but writes to standard error
+ * and prefixes the output with the program invocation name, automatically
+ * appending a newline. If err is 0, the result of strerror(errno) is also
+ * printed in a similar manner as perror. If err is positive, then that
+ * value is used instead of errno.
+ */
+int tool_verr(int err, const char *fmt, va_list ap);
+int tool_err(int err, const char *fmt, ...);
-#define VERSION_BOILERPLATE(name)\
-name " (2ooM liblbx) " PACKAGE_VERSION "\n"\
-"Copyright (C) 2006-2010 Nick Bowler.\n"\
-"License GPLv3+: GNU GPL version 3 or later "\
-"\n"\
-"This is free software: you are free to change and redistribute it.\n"\
-"There is NO WARRANTY, to the extent permitted by law."
+/*
+ * Messaging routines similar to the above, except that they write to standard
+ * output and there is no option to include strerror(errno).
+ */
+int tool_vmsg(const char *fmt, va_list ap);
+int tool_msg(const char *fmt, ...);
#endif