/* * 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 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, ...); /* * 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