1
/***************************************************************/
5
/* Type definitions all dumped here. */
7
/* This file is part of REMIND. */
8
/* Copyright (C) 1992-1998 by David F. Skoll */
9
/* Copyright (C) 1999-2000 by Roaring Penguin Software Inc. */
11
/***************************************************************/
13
/* $Id: types.h,v 1.5 2000/02/18 03:46:12 dfs Exp $ */
26
/* Define the type of operators */
38
/* Define the structure of a variable */
41
char name[VAR_NAME_LEN+1];
62
char sched[VAR_NAME_LEN+1]; /* Scheduling function */
63
char warn[VAR_NAME_LEN+1]; /* Warning function */
65
char passthru[PASSTHRU_LEN+1];
77
/* The parse pointer */
79
char isnested; /* Is it a nested expression? */
81
char *text; /* Start of text */
82
char *pos; /* Current position */
83
char *etext; /* Substituted text */
84
char *epos; /* Position in substituted text */
85
DynamicBuffer pushedToken; /* Pushed-back token */
86
char *tokenPushed; /* NULL if no pushed-back token */
89
typedef Parser *ParsePtr; /* Pointer to parser structure */
91
/* Some useful manifest constants */
105
#define BEFORE_SKIP 2
108
#define NO_TIME 1500 /* >1440, ie > than the largest possible legal time */
110
#define NO_PRIORITY 5000 /* Default priority is midway between 0 and 9999 */
120
#define PASSTHRU_TYPE 8
123
/* DEFINES for debugging flags */
127
#define DB_DUMP_VARS 8
128
#define DB_ECHO_LINE 16
130
/* Enumeration of the tokens */
134
T_Rem, T_Push, T_Pop, T_Preserve, T_Include, T_If, T_Else, T_EndIf,
136
T_Set, T_UnSet, T_Fset, T_Omit, T_Banner, T_Exit,
139
T_Skip, T_At, T_RemType, T_Until, T_Year, T_Day, T_Rep, T_Delta, T_Back,
156
/* The structure of a token */
164
/* Flags for the state of the "if" stack */
167
#define BEFORE_ELSE 0
170
#define IF_TRUE_MASK 1
171
#define IF_ELSE_MASK 2
173
/* Flags for the DoSubst function */
174
#define NORMAL_MODE 0
176
#define QUOTE_MARKER 1 /* Unlikely character to appear in reminder */
178
/* Flags for disabling run */
179
#define RUN_CMDLINE 1
181
#define RUN_NOTOWNER 4
183
/* Flags for the SimpleCalendar format */
184
#define SC_AMPM 0 /* Time shown as 3:00am, etc. */
185
#define SC_MIL 1 /* 24-hour time format */
186
#define SC_NOTIME 2 /* Do not display time in SC format. */
188
/* Flags for sorting */
190
#define SORT_ASCEND 1
191
#define SORT_DESCEND 2