]> git.draconx.ca Git - liblbx.git/blobdiff - src/tools.h
Trivial manual fixes.
[liblbx.git] / src / tools.h
index 2332c2c3e3fd83a93da680047bf5614a0ee52386..c2c10fff40d77f59666a4023682e2a621f7d6d18 100644 (file)
@@ -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 <http://www.gnu.org/licenses/>.
+ */
+
 #ifndef TOOLS_H_
 #define TOOLS_H_
 
-#ifdef HAVE_CONFIG_H
-#      include "config.h"
-#endif
+#include <stdarg.h>
 
-#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