blob: ec2de8ba3bb8d51cfc9d7bc002153c3b0bea7226 (
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
/*************************************************
* xfpt - Simple ASCII->Docbook processor *
*************************************************/
/* Copyright (c) University of Cambridge, 2012 */
/* Written by Philip Hazel. */
/* This module contains definitions of structures that are used throughout the
program. */
/* Include file stack item */
typedef struct istackstr {
struct istackstr *prev;
int linenumber;
FILE *file;
uschar filename[256];
} istackstr;
/* Flag stack item */
typedef struct flagstr {
struct flagstr *next;
int length1;
uschar *flag1;
uschar *rep1;
int length2;
uschar *flag2;
uschar *rep2;
} flagstr;
/* Pushed string stack item */
typedef struct pushstr {
struct pushstr *next;
int letter;
int check;
uschar *macname;
uschar string[1];
} pushstr;
/* Macro content and argument item */
typedef struct argstr {
struct argstr *next;
uschar *string;
} argstr;
/* Macro definition item */
typedef struct macrodef {
struct macrodef *next;
argstr *lines;
argstr *args;
uschar *name;
int namelength;
} macrodef;
/* Macro execution item */
typedef struct macroexe {
struct macroexe *prev;
macrodef *macro;
argstr *args;
argstr *nextline;
} macroexe;
/* Structure for each node in a tree, used for defined entities. */
typedef struct tree_node {
struct tree_node *left; /* pointer to left child */
struct tree_node *right; /* pointer to right child */
uschar *data; /* pointer to the value */
uschar balance; /* balancing factor */
uschar name[1]; /* node name - variable length */
} tree_node;
/* End of structs.h */
|