blob: a3019828473201906ab3a32d8315d7e67885b7b1 (
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
33
34
35
36
37
38
|
/* 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;
int tpenElements; /* number of elements in templateEntry list */
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 {
struct {
char *pConstant; /* pointer to constant value */
int iLenConstant; /* its length */
} constant;
char *pPropRepl; /* pointer to property replacer string */
} data;
};
struct template* tplConstruct(void);
struct template *tplAddLine(char* pName, char** pRestOfConfLine);
struct template *tplFind(char *pName, int iLenName);
int tplGetEntryCount(struct template *pTpl);
void tplPrintList(void);
/*
* vi:set ai:
*/
|