File: appTagval.h

package info (click to toggle)
ted 2.11-1
  • links: PTS
  • area: main
  • in suites: woody
  • size: 11,064 kB
  • ctags: 13,935
  • sloc: ansic: 120,446; makefile: 7,469; sh: 253
file content (50 lines) | stat: -rw-r--r-- 1,456 bytes parent folder | download | duplicates (3)
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						/*  }}	*/