1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
|
# ifndef TAGVAL_H /* {{ */
# define TAGVAL_H
/************************************************************************/
/* A name, value pair: */
/************************************************************************/
typedef struct TaggedValue
{
const char * tvName;
const char * tvValue;
unsigned int tvNameAllocated:1;
unsigned int tvValueAllocated:1;
} TaggedValue;
typedef struct TaggedValueList
{
int tvlCount;
TaggedValue tvlValues[1];
} TaggedValueList;
/************************************************************************/
/* Procedure declarations. */
/************************************************************************/
extern void appTagvalFreeValueList( TaggedValueList * tvl );
extern TaggedValueList * appTagvalAllocateList( int initialCapacity );
extern TaggedValueList * appTagvalAddValue( TaggedValueList * tvl,
const char * name,
const char * value,
int nameAllocated,
int valueAllocated);
extern int appTagvalGetStringValue( const char ** pValue,
int * pNull,
const TaggedValueList * tvl,
const char * name );
extern int appTagvalGetLongValue( long * pValue,
int * pNull,
const TaggedValueList * tvl,
const char * name );
extern int appTagvalGetDoubleValue( double * pValue,
int * pNull,
const TaggedValueList * tvl,
const char * name );
# endif /* }} */
|