xref: /netbsd/games/adventure/extern.h (revision 32e04a3b)
1 /*	$NetBSD: extern.h,v 1.16 2012/01/08 18:17:41 dholland Exp $	*/
2 
3 /*
4  * Copyright (c) 1997 Christos Zoulas.  All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
16  * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17  * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18  * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
19  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20  * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24  * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25  */
26 
27 #include <string.h>
28 #include <stdint.h>
29 
30 /* crc.c */
31 struct crcstate {
32 	uint32_t crcval;
33 	unsigned step;
34 };
35 
36 void crc_start(struct crcstate *);
37 void crc_add(struct crcstate *, const void *, size_t);
38 uint32_t crc_get(struct crcstate *);
39 
40 /* done.c */
41 int score(void);
42 void done(int) __dead;
43 void die(int);
44 
45 /* init.c */
46 void init(void);
47 char   *decr(int, int, int, int, int);
48 void trapdel(int);
49 void startup(void);
50 
51 /* io.c */
52 void getin(char **, char **);
53 int yes(int, int, int);
54 int yesm(int, int, int);
55 void rdata(void);
56 #ifdef DEBUG
57 void twrite(int);
58 #endif
59 void rspeak(int);
60 void mspeak(int);
61 struct text;
62 void speak(const struct text *);
63 void pspeak(int, int);
64 
65 /* save.c */
66 int save(const char *);
67 int restore(const char *);
68 
69 /* subr.c */
70 int toting(int);
71 int here(int);
72 int at(int);
73 int liq(void);
74 int liqloc(int);
75 int forced(int);
76 int dark(void);
77 int pct(int);
78 int fdwarf(void);
79 int march(void);
80 void bug(int) __dead;
81 void checkhints(void);
82 int trsay(void);
83 int trtake(void);
84 int trdrop(void);
85 int tropen(void);
86 int trkill(void);
87 int trtoss(void);
88 int trfeed(void);
89 int trfill(void);
90 void closing(void);
91 void caveclose(void);
92 
93 /* vocab.c */
94 void destroy(int);
95 void juggle(int);
96 void move(int, int);
97 int put(int, int, int);
98 void carry(int, int);
99 void drop(int, int);
100 int vocab(const char *, int, int);
101 
102 /* These three used to be functions in vocab.c */
103 #define copystr(src, dest)	strcpy((dest), (src))
104 #define weq(str1, str2)		(!strncmp((str1), (str2), 5))
105 #define length(str)		(strlen((str)) + 1)
106 
107 /* wizard.c */
108 void datime(int *, int *);
109 void poof(void);
110 int Start(void);
111 void ciao(void);
112 int ran(int);
113