]> granicus.if.org Git - postgresql/blob - src/interfaces/ecpg/preproc/extern.h
*** empty log message ***
[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 extern struct descriptor *descriptors;
33
34 /* functions */
35
36 extern void output_line_number(void);
37 extern void lex_init(void);
38 extern char *input_filename;
39 extern int      yyparse(void);
40 extern int      yylex(void);
41 extern void yyerror(char *);
42 extern void *mm_alloc(size_t), *mm_realloc(void *, size_t);
43 extern char *mm_strdup(const char *);
44 extern void mmerror(enum errortype, char * );
45 ScanKeyword *ScanECPGKeywordLookup(char *);
46 ScanKeyword *ScanCKeywordLookup(char *);
47
48 /* return codes */
49
50 #define OK                       0
51 #define PARSE_ERROR             -1
52 #define ILLEGAL_OPTION          -2
53 #define INDICATOR_NOT_ARRAY     -3
54
55 #define NO_INCLUDE_FILE         ENOENT
56 #define OUT_OF_MEMORY           ENOMEM