/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- * * Author: * Michael Zucchi * * Copyright 2002 Ximian, Inc. (www.ximian.com) * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #ifndef CAMEL_ARG_H #define CAMEL_ARG_H 1 #ifdef __cplusplus extern "C" { #pragma } #endif /* __cplusplus } */ #include #include enum camel_arg_t { CAMEL_ARG_END = 0, CAMEL_ARG_IGNORE = 1, /* override/ignore an arg in-place */ CAMEL_ARG_FIRST = 1024, /* 1024 args reserved for arg system */ CAMEL_ARG_TYPE = 0xf0000000, /* type field for tags */ CAMEL_ARG_TAG = 0x0fffffff, /* tag field for args */ CAMEL_ARG_OBJ = 0x00000000, /* object */ CAMEL_ARG_INT = 0x10000000, /* int */ CAMEL_ARG_DBL = 0x20000000, /* double */ CAMEL_ARG_STR = 0x30000000, /* c string */ CAMEL_ARG_PTR = 0x40000000, /* ptr */ CAMEL_ARG_BOO = 0x50000000, /* bool */ }; typedef struct _CamelArg CamelArg; typedef struct _CamelArgV CamelArgV; typedef struct _CamelArgGet CamelArgGet; typedef struct _CamelArgGetV CamelArgGetV; struct _CamelArg { guint32 tag; union { void *ca_object; int ca_int; double ca_double; char *ca_str; void *ca_ptr; } u; }; struct _CamelArgGet { guint32 tag; union { void **ca_object; int *ca_int; double *ca_double; char **ca_str; void **ca_ptr; } u; }; #define ca_object u.ca_object #define ca_int u.ca_int #define ca_double u.ca_double #define ca_str u.ca_str #define ca_ptr u.ca_ptr /* maximum no of args processed at any one time, not the max of all args */ #define CAMEL_ARGV_MAX (20) struct _CamelArgV { va_list ap; int argc; CamelArg argv[CAMEL_ARGV_MAX]; }; struct _CamelArgGetV { va_list ap; int argc; CamelArgGet argv[CAMEL_ARGV_MAX]; }; #define camel_argv_start(tv, last) va_start((tv)->ap, last) #define camel_argv_end(tv) va_end((tv)->ap) int camel_argv_build(CamelArgV *tv); int camel_arggetv_build(CamelArgGetV *tv); /* set an arg ignored */ #define camel_argv_ignore(tv, i) ((tv)->argv[i].tag = ((tv)->argv[i].tag & CAMEL_ARG_TYPE) | CAMEL_ARG_IGNORE) /* 'self-describing' property list */ typedef struct _CamelProperty CamelProperty; struct _CamelProperty { guint32 tag; char *name; char *description; }; #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* CAMEL_ARG_H */ >dependabot/npm_and_yarn/devel/electron4/files/serve-10.1.2 FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)
aboutsummaryrefslogtreecommitdiffstats
Commit message (Expand)AuthorAgeFilesLines
* - Fix comboboxes vcalendar bug by adding upstream patches [1]pawel2013-10-051-1/+0
* Add NO_STAGE all over the place in preparation for the staging support (cat: ...bapt2013-09-211-0/+1
* Update to Claws Mail 3.9.1 releasepawel2013-05-112-19/+3
* Update to Claws Mail 3.9.0 releasepawel2012-12-113-12/+8
* - Update to Claws Mail release 3.8.1pawel2012-06-302-6/+5
* - update png to 1.5.10dinoex2012-06-011-0/+1
* Update claws-mail ports to 3.8.0 releasepawel2011-12-182-6/+5
* - update to 3.7.10 releasepawel2011-08-301-4/+4
* - Update to 3.7.9 bugfix releasepawel2011-04-181-3/+3
* - Update my email to FreeBSDpawel2011-03-241-1/+1
* - Update to 3.7.8miwi2010-12-161-2/+3
* Sync to new bsd.autotools.mkade2010-12-041-1/+1
* - Update claws-mail plugins to newest versions from 3.7.7 releasemiwi2010-12-012-7/+8
* Punt autoconf267->autoconf268ade2010-10-161-1/+1
* Autotools update. Read ports/UPDATING 20100915 for details.ade2010-09-161-1/+2
* - Update to 1.14.4miwi2010-05-162-7/+6
* - update to 1.4.1dinoex2010-03-281-1/+1
* - Update to 3.7.5miwi2010-02-081-3/+3
* - update to jpeg-8dinoex2010-02-051-1/+1
* - Bump PORTREVISION after claws-mail updatemiwi2010-01-221-3/+3
* - Chase claws-mail updatemiwi2009-11-281-3/+3
* Add/Update WWW records in pkg-descr filesskreuzer2009-08-051-0/+2
* - bump all port that indirectly depends on libjpeg and have not yet been bump...dinoex2009-07-311-1/+1
* - Bump PORTREVISION after claws-mail updatemiwi2009-07-051-3/+3
* - Bump PORTREVISION after claws-mail updatemiwi2009-03-071-2/+3
* - Update to 1.14.3miwi2009-01-122-7/+6
* Conversion from (now defunct) autoconf-2.61 to autoconf-2.62ade2008-08-201-1/+1
* - Bump PORTREVISION after claws-mail updatemiwi2008-06-281-5/+5