/*
* 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