view subopt-helper.h @ 14341:e69d13028d97

1.827: Better -lavdopts option descriptions. 1.828: Remove spurious .RE macro. 1.829: added colorkey support for vo_directx. 1.830: added -wid support for vo_directx. 1.831: Adds support for LADSPA (Linux Audio Developer's Simple Plugin API) plugins. ----------------------------------------------------------------------
author kraymer
date Mon, 03 Jan 2005 22:45:33 +0000
parents 6c3241503d9b
children 00c3c4111017
line wrap: on
line source

#ifndef SUBOPT_HELPER_H
#define SUBOPT_HELPER_H

/**
 * \file subopt-helper.h
 *
 * \brief Datatype and functions declarations for usage 
 *        of the suboption parser.
 *
 */

#define OPT_ARG_BOOL 0
#define OPT_ARG_INT  1
#define OPT_ARG_STR  2

typedef int (*opt_test_f)(void *);

/** simple structure for defining the option name, type and storage location */
typedef struct opt_s
{
  char * name; ///< string that identifies the option
  int type;    ///< option type as defined in subopt-helper.h
  void * valp; ///< pointer to the mem where the value should be stored
  opt_test_f test; ///< argument test func ( optional )
  int set;     ///< Is set internally by the parser if the option was found.
               ///< Don't use it at initialization of your opts, it will be
               ///< overriden anyway!
} opt_t;

/** parses the string for the options specified in opt */
int subopt_parse( char const * const str, opt_t * opts );


/*------------------ arg specific types and declaration -------------------*/
typedef struct strarg_s
{
  unsigned char len; ///< length of the string determined by the parser
  char const * str;  ///< pointer to position inside the parse string
} strarg_t;

#endif