Mercurial > hg > dmlib
view src/dmargs.h @ 2511:6f2572b6f151
Comment out fields in DMC64ImageConvSpec that are not currently used.
Improve comments of the fields that are.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Thu, 30 Apr 2020 08:51:21 +0300 |
parents | b7cd5dd0b82e |
children | c6ee41fd98dd |
line wrap: on
line source
/* * Simple commandline argument processing functions * Programmed and designed by Matti 'ccr' Hamalainen * (C) Copyright 2002-2020 Tecnic Software productions (TNSP) * * Please read file 'COPYING' for information on license and distribution. */ /// @file /// @brief Simple commandline argument processing functions #ifndef DMARGS_H #define DMARGS_H #include "dmlib.h" #ifdef __cplusplus extern "C" { #endif /** @def Option argument flags */ #define OPT_NONE (0) ///< Simple option with no arguments #define OPT_ARGREQ (1) ///< Option requires an argument #define OPT_ARGMASK (1) ///< Mask for option argument flags /** @def Option processing flags */ #define OPTH_BAILOUT 0x0001 ///< Bail out on errors #define OPTH_ONLY_OPTS 0x0010 ///< Handle only options #define OPTH_ONLY_OTHER 0x0020 ///< Handle only "non-options" #define OPTH_ONLY_MASK 0x00f0 ///< Mask /** Option argument structure */ typedef struct { int id; ///< Option ID (should be unique for each option) char o_short; ///< Short option name (one character, can be 0 for none) char *o_long; ///< Long option name (can be NULL for none) #ifdef DM_USE_OPT_ARG char *o_arg; ///< Option argument name (can be NULL for none/default) #endif char *desc; ///< Option description int flags; ///< Flags (see OPT_*) } DMOptArg; BOOL dmArgsProcess(int argc, char *argv[], const DMOptArg *opts, const int nopts, BOOL (*handle_option)(int id, char *, char *), BOOL (*handle_other)(char *), const int flags); void dmArgsPrintHelp(FILE *fh, const DMOptArg *opts, const int nopts, const int flags, const int width); void dmPrintWrap(FILE *fh, const int spad, const int rpad, const int width, const char *str); #ifdef __cplusplus } #endif #endif // DMARGS_H