extern.h revision 1.12 1 1.12 jmc /* $NetBSD: extern.h,v 1.12 2005/07/01 00:48:34 jmc Exp $ */
2 1.3 cgd
3 1.1 cgd /*-
4 1.3 cgd * Copyright (c) 1990, 1993
5 1.3 cgd * The Regents of the University of California. All rights reserved.
6 1.1 cgd *
7 1.1 cgd * This code is derived from software contributed to Berkeley by
8 1.1 cgd * Ed James.
9 1.1 cgd *
10 1.1 cgd * Redistribution and use in source and binary forms, with or without
11 1.1 cgd * modification, are permitted provided that the following conditions
12 1.1 cgd * are met:
13 1.1 cgd * 1. Redistributions of source code must retain the above copyright
14 1.1 cgd * notice, this list of conditions and the following disclaimer.
15 1.1 cgd * 2. Redistributions in binary form must reproduce the above copyright
16 1.1 cgd * notice, this list of conditions and the following disclaimer in the
17 1.1 cgd * documentation and/or other materials provided with the distribution.
18 1.10 agc * 3. Neither the name of the University nor the names of its contributors
19 1.1 cgd * may be used to endorse or promote products derived from this software
20 1.1 cgd * without specific prior written permission.
21 1.1 cgd *
22 1.1 cgd * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
23 1.1 cgd * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
24 1.1 cgd * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
25 1.1 cgd * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
26 1.1 cgd * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
27 1.1 cgd * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
28 1.1 cgd * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
29 1.1 cgd * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30 1.1 cgd * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
31 1.1 cgd * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
32 1.1 cgd * SUCH DAMAGE.
33 1.1 cgd *
34 1.3 cgd * @(#)extern.h 8.1 (Berkeley) 5/31/93
35 1.1 cgd */
36 1.1 cgd
37 1.1 cgd /*
38 1.1 cgd * Copyright (c) 1987 by Ed James, UC Berkeley. All rights reserved.
39 1.1 cgd *
40 1.1 cgd * Copy permission is hereby granted provided that this notice is
41 1.1 cgd * retained on all partial or complete copies.
42 1.1 cgd *
43 1.1 cgd * For more info on this and all of my stuff, mail edjames (at) berkeley.edu.
44 1.1 cgd */
45 1.1 cgd
46 1.7 hubertf extern char GAMES[];
47 1.12 jmc extern const char *filename;
48 1.1 cgd
49 1.1 cgd extern int clck, safe_planes, start_time, test_mode;
50 1.1 cgd
51 1.1 cgd extern FILE *filein, *fileout;
52 1.1 cgd
53 1.1 cgd extern C_SCREEN screen, *sp;
54 1.1 cgd
55 1.1 cgd extern LIST air, ground;
56 1.1 cgd
57 1.4 mycroft extern struct termios tty_start, tty_new;
58 1.1 cgd
59 1.1 cgd extern DISPLACEMENT displacement[MAXDIR];
60 1.1 cgd
61 1.11 jsm int addplane(void);
62 1.11 jsm void append(LIST *, PLANE *);
63 1.11 jsm void check_adir(int, int, int);
64 1.11 jsm void check_edge(int, int);
65 1.11 jsm void check_edir(int, int, int);
66 1.11 jsm void check_line(int, int, int, int);
67 1.11 jsm void check_linepoint(int, int);
68 1.11 jsm void check_point(int, int);
69 1.11 jsm int checkdefs(void);
70 1.11 jsm int compar(const void *, const void *);
71 1.11 jsm void delete(LIST *, PLANE *);
72 1.11 jsm int dir_deg(int);
73 1.12 jmc int dir_no(int);
74 1.11 jsm void done_screen(void);
75 1.11 jsm void draw_all(void);
76 1.11 jsm void draw_line(WINDOW *, int, int, int, int, const char *);
77 1.11 jsm void erase_all(void);
78 1.11 jsm int getAChar(void);
79 1.11 jsm int getcommand(void);
80 1.11 jsm int gettoken(void);
81 1.11 jsm void init_gr(void);
82 1.11 jsm void ioaddstr(int, const char *);
83 1.11 jsm void ioclrtobot(void);
84 1.11 jsm void ioclrtoeol(int);
85 1.11 jsm void ioerror(int, int, const char *);
86 1.11 jsm void iomove(int);
87 1.11 jsm int list_games(void);
88 1.11 jsm int log_score(int);
89 1.11 jsm void log_score_quit(int) __attribute__((__noreturn__));
90 1.11 jsm void loser(const PLANE *, const char *) __attribute__((__noreturn__));
91 1.11 jsm int main(int, char *[]);
92 1.11 jsm char name(const PLANE *);
93 1.11 jsm int next_plane(void);
94 1.11 jsm void noise(void);
95 1.12 jmc int number(int);
96 1.11 jsm void open_score_file(void);
97 1.11 jsm void planewin(void);
98 1.11 jsm int pop(void);
99 1.11 jsm void push(int, int);
100 1.11 jsm void quit(int);
101 1.11 jsm int read_file(const char *);
102 1.11 jsm void redraw(void);
103 1.11 jsm void rezero(void);
104 1.11 jsm void setup_screen(const C_SCREEN *);
105 1.11 jsm int too_close(const PLANE *p1, const PLANE *p2, int);
106 1.11 jsm void update(int);
107 1.11 jsm int yyerror(const char *);
108 1.11 jsm int yylex(void);
109 1.9 christos #ifndef YYEMPTY
110 1.11 jsm int yyparse(void);
111 1.9 christos #endif
112 1.12 jmc const char *Left(int);
113 1.12 jmc const char *Right(int);
114 1.12 jmc const char *airport(int);
115 1.12 jmc const char *beacon(int);
116 1.12 jmc const char *benum(int);
117 1.12 jmc const char *circle(int);
118 1.12 jmc const char *climb(int);
119 1.11 jsm const char *command(const PLANE *);
120 1.11 jsm const char *default_game(void);
121 1.12 jmc const char *delayb(int);
122 1.12 jmc const char *descend(int);
123 1.12 jmc const char *ex_it(int);
124 1.11 jsm PLANE *findplane(int);
125 1.12 jmc const char *ignore(int);
126 1.12 jmc const char *left(int);
127 1.12 jmc const char *mark(int);
128 1.11 jsm PLANE *newplane(void);
129 1.11 jsm const char *okay_game(const char *);
130 1.12 jmc const char *rel_dir(int);
131 1.12 jmc const char *right(int);
132 1.12 jmc const char *setalt(int);
133 1.12 jmc const char *setplane(int);
134 1.12 jmc const char *setrelalt(int);
135 1.11 jsm const char *timestr(int);
136 1.12 jmc const char *to_dir(int);
137 1.12 jmc const char *turn(int);
138 1.12 jmc const char *unmark(int);
139