c_bindings.cpp (932B)
1 #include <cstdarg> 2 3 #include "poafloc/poafloc.h" 4 #include "poafloc/poafloc.hpp" 5 6 extern "C" 7 { 8 namespace poafloc { 9 10 int poafloc_parse(const poafloc_arg_t* argp, 11 int argc, 12 char* argv[], 13 unsigned flags, 14 void* input) 15 { 16 return parse(argp, argc, argv, flags, input); 17 } 18 19 void* poafloc_parser_input(poafloc_parser_t* parser) 20 { 21 return parser->input(); 22 } 23 24 void poafloc_usage(poafloc_parser_t* parser) 25 { 26 return usage(parser); 27 } 28 29 void poafloc_help(const poafloc_parser_t* parser, FILE* stream, unsigned flags) 30 { 31 help(parser, stream, flags); 32 } 33 34 void poafloc_failure(const poafloc_parser_t* parser, 35 int status, 36 int errnum, 37 const char* fmt, 38 ...) 39 { 40 std::va_list args; 41 va_start(args, fmt); 42 failure(parser, status, errnum, fmt, args); 43 va_end(args); 44 } 45 46 } // namespace poafloc 47 }