extern.h revision 1.10 1 1.10 jsm /* $NetBSD: extern.h,v 1.10 2004/01/27 20:30:28 jsm Exp $ */
2 1.1 christos
3 1.1 christos /*
4 1.1 christos * Copyright (c) 1997 Christos Zoulas. All rights reserved.
5 1.1 christos *
6 1.1 christos * Redistribution and use in source and binary forms, with or without
7 1.1 christos * modification, are permitted provided that the following conditions
8 1.1 christos * are met:
9 1.1 christos * 1. Redistributions of source code must retain the above copyright
10 1.1 christos * notice, this list of conditions and the following disclaimer.
11 1.1 christos * 2. Redistributions in binary form must reproduce the above copyright
12 1.1 christos * notice, this list of conditions and the following disclaimer in the
13 1.1 christos * documentation and/or other materials provided with the distribution.
14 1.1 christos * 3. All advertising materials mentioning features or use of this software
15 1.1 christos * must display the following acknowledgement:
16 1.1 christos * This product includes software developed by Christos Zoulas.
17 1.1 christos * 4. The name of the author may not be used to endorse or promote products
18 1.1 christos * derived from this software without specific prior written permission.
19 1.1 christos *
20 1.1 christos * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
21 1.1 christos * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
22 1.1 christos * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
23 1.1 christos * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
24 1.1 christos * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
25 1.1 christos * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26 1.1 christos * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 1.1 christos * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 1.1 christos * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
29 1.1 christos * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 1.1 christos */
31 1.1 christos
32 1.5 hubertf #include <string.h>
33 1.5 hubertf
34 1.1 christos /* crc.c */
35 1.10 jsm void crc_start(void);
36 1.10 jsm unsigned long crc(const char *, int);
37 1.1 christos
38 1.1 christos /* done.c */
39 1.10 jsm int score(void);
40 1.10 jsm void done(int) __attribute__((__noreturn__));
41 1.10 jsm void die(int);
42 1.1 christos
43 1.1 christos /* init.c */
44 1.10 jsm void init(void);
45 1.10 jsm char *decr(int, int, int, int, int);
46 1.10 jsm void linkdata(void);
47 1.10 jsm void trapdel(int);
48 1.10 jsm void startup(void);
49 1.1 christos
50 1.1 christos /* io.c */
51 1.10 jsm void getin(char **, char **);
52 1.10 jsm int yes(int, int, int);
53 1.10 jsm int yesm(int, int, int);
54 1.10 jsm int next(void);
55 1.10 jsm void rdata(void);
56 1.10 jsm int rnum(void);
57 1.10 jsm void rdesc(int);
58 1.10 jsm void rtrav(void);
59 1.6 hubertf #ifdef DEBUG
60 1.10 jsm void twrite(int);
61 1.6 hubertf #endif
62 1.10 jsm void rvoc(void);
63 1.10 jsm void rlocs(void);
64 1.10 jsm void rdflt(void);
65 1.10 jsm void rliq(void);
66 1.10 jsm void rhints(void);
67 1.10 jsm void rspeak(int);
68 1.10 jsm void mspeak(int);
69 1.1 christos struct text;
70 1.10 jsm void speak(const struct text *);
71 1.10 jsm void pspeak(int, int);
72 1.1 christos
73 1.1 christos /* save.c */
74 1.10 jsm int save(const char *);
75 1.10 jsm int restore(const char *);
76 1.1 christos
77 1.1 christos /* subr.c */
78 1.10 jsm int toting(int);
79 1.10 jsm int here(int);
80 1.10 jsm int at(int);
81 1.10 jsm int liq2(int);
82 1.10 jsm int liq(void);
83 1.10 jsm int liqloc(int);
84 1.10 jsm int bitset(int, int);
85 1.10 jsm int forced(int);
86 1.10 jsm int dark(void);
87 1.10 jsm int pct(int);
88 1.10 jsm int fdwarf(void);
89 1.10 jsm int march(void);
90 1.10 jsm int mback(void);
91 1.10 jsm int specials(void);
92 1.10 jsm int trbridge(void);
93 1.10 jsm void badmove(void);
94 1.10 jsm void bug(int) __attribute__((__noreturn__));
95 1.10 jsm void checkhints(void);
96 1.10 jsm int trsay(void);
97 1.10 jsm int trtake(void);
98 1.10 jsm int dropper(void);
99 1.10 jsm int trdrop(void);
100 1.10 jsm int tropen(void);
101 1.10 jsm int trkill(void);
102 1.10 jsm int trtoss(void);
103 1.10 jsm int trfeed(void);
104 1.10 jsm int trfill(void);
105 1.10 jsm void closing(void);
106 1.10 jsm void caveclose(void);
107 1.1 christos
108 1.1 christos /* vocab.c */
109 1.10 jsm void dstroy(int);
110 1.10 jsm void juggle(int);
111 1.10 jsm void move(int, int);
112 1.10 jsm int put(int, int, int);
113 1.10 jsm void carry(int, int);
114 1.10 jsm void drop(int, int);
115 1.10 jsm int vocab(const char *, int, int);
116 1.5 hubertf
117 1.5 hubertf /* These three used to be functions in vocab.c */
118 1.5 hubertf #define copystr(src, dest) strcpy((dest), (src))
119 1.5 hubertf #define weq(str1, str2) (!strncmp((str1), (str2), 5))
120 1.5 hubertf #define length(str) (strlen((str)) + 1)
121 1.5 hubertf
122 1.10 jsm void prht(void);
123 1.1 christos
124 1.1 christos /* wizard.c */
125 1.10 jsm void datime(int *, int *);
126 1.10 jsm void poof(void);
127 1.10 jsm int Start(void);
128 1.10 jsm int wizard(void);
129 1.10 jsm void ciao(void);
130 1.10 jsm int ran(int);
131