camel-arg

camel-arg

Synopsis

                    CamelArg;
                    CamelArgV;
                    CamelArgGet;
                    CamelArgGetV;
#define             camel_argv_start                    (tv, last)
#define             camel_argv_end                      (tv)
int                 camel_argv_build                    (CamelArgV *tv);
int                 camel_arggetv_build                 (CamelArgGetV *tv);
#define             camel_argv_ignore                   (tv, i)
                    CamelProperty;

Description

Details

CamelArg

typedef struct {
	guint32 tag;
	union {
		void *ca_object;
		int ca_int;
		double ca_double;
		char *ca_str;
		void *ca_ptr;
	} u;
} CamelArg;


CamelArgV

typedef struct {
	va_list ap;
	int argc;
	CamelArg argv[CAMEL_ARGV_MAX];
} CamelArgV;


CamelArgGet

typedef struct {
	guint32 tag;
	union {
		void **ca_object;
		int *ca_int;
		double *ca_double;
		char **ca_str;
		void **ca_ptr;
	} u;
} CamelArgGet;


CamelArgGetV

typedef struct {
	va_list ap;
	int argc;
	CamelArgGet argv[CAMEL_ARGV_MAX];
} CamelArgGetV;


camel_argv_start()

#define camel_argv_start(tv, last) va_start((tv)->ap, last)

tv :

last :


camel_argv_end()

#define camel_argv_end(tv) va_end((tv)->ap)

tv :


camel_argv_build ()

int                 camel_argv_build                    (CamelArgV *tv);

tv :

Returns :


camel_arggetv_build ()

int                 camel_arggetv_build                 (CamelArgGetV *tv);

tv :

Returns :


camel_argv_ignore()

#define camel_argv_ignore(tv, i) ((tv)->argv[i].tag = ((tv)->argv[i].tag & CAMEL_ARG_TYPE) | CAMEL_ARG_IGNORE)

tv :

i :


CamelProperty

typedef struct {
	guint32 tag;
	char *name;
	char *description;
} CamelProperty;