Mercurial > hg > dmlib
view src/dmargs.h @ 2208:90ec1ec89c56
Revamp the palette handling in lib64gfx somewhat, add helper functions to
lib64util for handling external palette file options and add support for
specifying one of the "internal" palettes or external (.act) palette file to
gfxconv and 64vw.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Fri, 14 Jun 2019 05:01:12 +0300 |
parents | ddec147d1f90 |
children | c801995cbb13 |
line wrap: on
line source
/* * Simple commandline argument processing functions * Programmed and designed by Matti 'ccr' Hamalainen * (C) Copyright 2002-2018 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) char *o_long; ///< Long option name 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 *, const DMOptArg *opts, const int nopts, const int flags); #ifdef __cplusplus } #endif #endif // DMARGS_H