]> granicus.if.org Git - postgresql/blob - src/interfaces/ecpg/preproc/extern.h
ecpg shouldn't depend on parser/gramparse.h. Also, eliminate some
[postgresql] / src / interfaces / ecpg / preproc / extern.h
1 #include "parser/keywords.h"
2 #include "type.h"
3 #include <errno.h>
4
5 /* defines */
6
7 #define STRUCT_DEPTH 128
8
9 /* variables */
10
11 extern int      braces_open,
12                 autocommit,
13                 ret_value,
14                 struct_level;
15 extern char *yytext,
16                         errortext[128];
17 extern int      yylineno,
18                         yyleng;
19 extern FILE *yyin,
20                    *yyout;
21
22 extern struct _include_path *include_paths;
23 extern struct cursor *cur;
24 extern struct typedefs *types;
25 extern struct _defines *defines;
26 extern struct ECPGtype ecpg_no_indicator;
27 extern struct variable no_indicator;
28 extern struct arguments *argsinsert;
29 extern struct arguments *argsresult;
30 extern struct when when_error, when_nf, when_warn;
31 extern struct ECPGstruct_member *struct_member_list[STRUCT_DEPTH];
32
33 /* functions */
34
35 extern void output_line_number(void);
36 extern void lex_init(void);
37 extern char *input_filename;
38 extern int      yyparse(void);
39 extern int      yylex(void);
40 extern void yyerror(char *);
41 extern void *mm_alloc(size_t), *mm_realloc(void *, size_t);
42 extern char *mm_strdup(const char *);
43 ScanKeyword *ScanECPGKeywordLookup(char *);
44 ScanKeyword *ScanCKeywordLookup(char *);
45
46 /* return codes */
47
48 #define OK                       0
49 #define PARSE_ERROR             -1
50 #define ILLEGAL_OPTION          -2
51 #define INDICATOR_NOT_ARRAY     -3
52
53 #define NO_INCLUDE_FILE         ENOENT
54 #define OUT_OF_MEMORY           ENOMEM