]> git.draconx.ca Git - liblbx.git/blob - src/tools.h
Trivial manual fixes.
[liblbx.git] / src / tools.h
1 /*
2  * 2ooM: The Master of Orion II Reverse Engineering Project
3  * Helper functions for liblbx command-line applications.
4  * Copyright © 2013 Nick Bowler
5  *
6  * This program is free software: you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation, either version 3 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 #ifndef TOOLS_H_
21 #define TOOLS_H_
22
23 #include <stdarg.h>
24
25 void tool_init(const char *name, int argc, char **argv);
26 void tool_version(void);
27
28 const char *tool_invocation(void);
29
30 /*
31  * Error messaging routines.  Similar to printf, but writes to standard error
32  * and prefixes the output with the program invocation name, automatically
33  * appending a newline.  If err is 0, the result of strerror(errno) is also
34  * printed in a similar manner as perror.  If err is positive, then that
35  * value is used instead of errno.
36  */
37 int tool_verr(int err, const char *fmt, va_list ap);
38 int tool_err(int err, const char *fmt, ...);
39
40 /*
41  * Messaging routines similar to the above, except that they write to standard
42  * output and there is no option to include strerror(errno).
43  */
44 int tool_vmsg(const char *fmt, va_list ap);
45 int tool_msg(const char *fmt, ...);
46
47 #endif