1#include "scanner.h"
2
3#include "../../msg.h"
4
5#include <string.h>
6#include <stdlib.h>
7#include <stdio.h>
8
9#include "../../rss/rss.h"
10#include "../filestack/filestack.h"
11#include "../state/state.h"
12
13#include "../parser/tokens.h"   /* parser.h" */
14
15#ifndef fileno
16    int fileno(FILE *stream);
17#endif
18
19#ifdef unput
20    /* If this stops working, have a look at lexer2.c to see what was   */
21    /* changed in the flex-implementation                               */
22
23    static void yyunput (int c,char *buf_ptr  );
24    void (*unusedUnput)(int c,char *buf_ptr) = &yyunput;
25#endif
26
27extern FILE *yyin;
28extern FILE *yyout;
29
30extern char    *yytext;
31extern int      yyleng;
32extern int      yylineno;
33
34extern unsigned   sc_lastLineNr;
35extern char    *sc_definition;
36extern int      sc_getDefine;
37extern int      sc_eof;
38extern void     (*sc_ptr)(void);
39
40FILE   *sc_pushFile(char const *filename);
41void    sc_startDefinition(void);
42void    sc_appendDefinition(int cutoff);
43int     sc_popFile();
44
45void yypop_buffer_state(void);
46
47
48void yypush_buffer_state (YY_BUFFER_STATE new_buffer);
49YY_BUFFER_STATE yy_create_buffer (FILE *file, int size);
50