summaryrefslogtreecommitdiffstats
path: root/template.h
blob: e438e988d92762409da2ec2444670bfee9ea0fa9 (plain)
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
/* This is the header for template processing code of rsyslog.
 * Please see syslogd.c for license information.
 * This code is placed under the GPL.
 * begun 2004-11-17 rgerhards
 */
struct template {
	struct template *pNext;
	char *pszName;
	int iLenName;
	struct templateEntry *pEntryRoot;
	struct templateEntry *pEntryLast;
};

enum EntryTypes { UNDEFINED = 0, CONSTANT = 1, FIELD = 2 };

/* a specific parse entry */
struct templateEntry {
	struct templateEntry *pNext;
	enum EntryTypes eEntryType;
	union {
		char *pConstant;	/* pointer to constant value */
		char *pPropRepl;	/* pointer to property replacer string */
	};
};

struct template* tplConstruct(void);
struct template *tplAddLine(char* pName, char** pRestOfConfLine);
struct template *tplFind(char *pName, int iLenName);

/*
 * vi:set ai:
 */