X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/2ae75b73d0b5d48d5ae5ae418b930f9f122f4486..3d1e13378f4e3cd29bd2698fed4552024f87e9c2:/src/tools.h?ds=inline
diff --git a/src/tools.h b/src/tools.h
index 2332c2c..c2c10ff 100644
--- a/src/tools.h
+++ b/src/tools.h
@@ -1,19 +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_
-#ifdef HAVE_CONFIG_H
-# include "config.h"
-#endif
+#include
-#ifndef PACKAGE_VERSION
-# define PACKAGE_VERSION "(unknown)"
-#endif
+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-2008 Nick Bowler.\n"\
-"This is free software: you are free to change and redistribute it under\n"\
-"the terms of the GNU General Public License, version 2 or later.\n"\
-"There is ABSOLUTELY 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