X-Git-Url: http://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/91743040c1a98baaffc82ffff8306c2c9fd07285..c81b3f9cfa09bcf212214f006d879585774619e2:/src/tools.h 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