The argtable parsing, validation, and error reporting routines may be replaced by user-defined callbacks if desired and new argtable data types may be created to parse user-defined argument types. The parsing itself is done using GNU getopt so the parser is 100% GNU compatible. Care has also been taken to make the internal command line buffer handling secure against buffer overun attacks, as might