camel-arg

camel-arg

Synopsis

                    CamelArg;
                    CamelArgV;
                    CamelArgGet;
                    CamelArgGetV;
#define             ca_object
#define             ca_int
#define             ca_double
#define             ca_str
#define             ca_ptr
#define             CAMEL_ARGV_MAX
#define             camel_argv_start                    (tv,
                                                         last)
#define             camel_argv_end                      (tv)
gint                camel_argv_build                    (CamelArgV *tv);
gint                camel_arggetv_build                 (CamelArgGetV *tv);
#define             camel_argv_ignore                   (tv,
                                                         i)
                    CamelProperty;

Description

Details

CamelArg

typedef struct {
	guint32 tag;
	union {
		gpointer ca_object;
		gint ca_int;
		gdouble ca_double;
		gchar *ca_str;
		gpointer ca_ptr;
	} u;
} CamelArg;


CamelArgV

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


CamelArgGet

typedef struct {
	guint32 tag;
	union {
		gpointer *ca_object;
		gint *ca_int;
		gdouble *ca_double;
		gchar **ca_str;
		gpointer *ca_ptr;
	} u;
} CamelArgGet;


CamelArgGetV

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


ca_object

#define ca_object u.ca_object


ca_int

#define ca_int u.ca_int


ca_double

#define ca_double u.ca_double


ca_str

#define ca_str u.ca_str


ca_ptr

#define ca_ptr u.ca_ptr


CAMEL_ARGV_MAX

#define CAMEL_ARGV_MAX (20)


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 ()

gint                camel_argv_build                    (CamelArgV *tv);

tv :

Returns :


camel_arggetv_build ()

gint                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;
	const gchar *name;
	const gchar *description;
} CamelProperty;