~ubuntu-dev/mplayer/ubuntu-gutsy

1 by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117
1
#ifndef SUBOPT_HELPER_H
2
#define SUBOPT_HELPER_H
3
4
/**
5
 * \file subopt-helper.h
6
 *
7
 * \brief Datatype and functions declarations for usage 
8
 *        of the suboption parser.
9
 *
10
 */
11
12
#define OPT_ARG_BOOL 0
13
#define OPT_ARG_INT  1
14
#define OPT_ARG_STR  2
15
#define OPT_ARG_MSTRZ 3 ///< A malloced, zero terminated string, use free()!
16
#define OPT_ARG_FLOAT 4
17
18
typedef int (*opt_test_f)(void *);
19
20
/** simple structure for defining the option name, type and storage location */
21
typedef struct opt_s
22
{
2.6.1 by William Grant
Update to 1.0rc1.
23
  const char * name; ///< string that identifies the option
1 by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117
24
  int type;    ///< option type as defined in subopt-helper.h
25
  void * valp; ///< pointer to the mem where the value should be stored
26
  opt_test_f test; ///< argument test func ( optional )
27
  int set;     ///< Is set internally by the parser if the option was found.
28
               ///< Don't use it at initialization of your opts, it will be
29
               ///< overriden anyway!
30
} opt_t;
31
32
/** parses the string for the options specified in opt */
33
int subopt_parse( char const * const str, opt_t * opts );
34
35
36
/*------------------ arg specific types and declaration -------------------*/
37
typedef struct strarg_s
38
{
39
  int len; ///< length of the string determined by the parser
40
  char const * str;  ///< pointer to position inside the parse string
41
} strarg_t;
42
43
44
int int_non_neg( int * i );
45
int int_pos( int * i );
46
2.6.1 by William Grant
Update to 1.0rc1.
47
int strargcmp(strarg_t *arg, const char *str);
1 by Reinhard Tartler
imported mplayer_0.99+1.0pre7try2+cvs20060117
48
int strargcasecmp(strarg_t *arg, char *str);
49
50
#endif