input.h (89730b290a5b2a1506fc7b4a1e604d01e16395ad) input.h (069428af6d6abb894be0ac02ee843262ccc35282)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * This code is derived from software contributed to Berkeley by
6 * Kenneth Almquist.
7 *
8 * Redistribution and use in source and binary forms, with or without

--- 19 unchanged lines hidden (view full) ---

28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)input.h 8.1 (Berkeley) 5/31/93
37 * $Id$
36 * @(#)input.h 8.2 (Berkeley) 5/4/95
38 */
39
40/* PEOF (the end of file marker) is defined in syntax.h */
41
42/*
43 * The input line number. Input.c just defines this variable, and saves
44 * and restores it when files are pushed and popped. The user of this
45 * package must set its value.
46 */
47extern int plinno;
48extern int parsenleft; /* number of characters left in input buffer */
49extern char *parsenextc; /* next character in input buffer */
50extern int init_editline; /* 0 == not setup, 1 == OK, -1 == failed */
51
37 */
38
39/* PEOF (the end of file marker) is defined in syntax.h */
40
41/*
42 * The input line number. Input.c just defines this variable, and saves
43 * and restores it when files are pushed and popped. The user of this
44 * package must set its value.
45 */
46extern int plinno;
47extern int parsenleft; /* number of characters left in input buffer */
48extern char *parsenextc; /* next character in input buffer */
49extern int init_editline; /* 0 == not setup, 1 == OK, -1 == failed */
50
51char *pfgets __P((char *, int));
52int pgetc __P((void));
53int preadbuffer __P((void));
54void pungetc __P((void));
55void pushstring __P((char *, int, void *));
56void popstring __P((void));
57void setinputfile __P((char *, int));
58void setinputfd __P((int, int));
59void setinputstring __P((char *, int));
60void popfile __P((void));
61void popallfiles __P((void));
62void closescript __P((void));
52
63
53#ifdef __STDC__
54char *pfgets(char *, int);
55int pgetc(void);
56int preadbuffer(void);
57void pungetc(void);
58void pushstring(char *, int, void *);
59void setinputfile(char *, int);
60void setinputfd(int, int);
61void setinputstring(char *, int);
62void popfile(void);
63void popallfiles(void);
64void closescript(void);
65#else
66char *pfgets();
67int pgetc();
68int preadbuffer();
69void pungetc();
70void setinputfile();
71void setinputfd();
72void setinputstring();
73void popfile();
74void popallfiles();
75void pushstring();
76void closescript();
77#endif
78
79#define pgetc_macro() (--parsenleft >= 0? *parsenextc++ : preadbuffer())
64#define pgetc_macro() (--parsenleft >= 0? *parsenextc++ : preadbuffer())