111da14feSzrj /* $OpenBSD: extern.h,v 1.9 2015/12/25 20:59:09 mestre Exp $ */ 211da14feSzrj /* $NetBSD: extern.h,v 1.3 1995/04/24 12:22:37 cgd Exp $ */ 311da14feSzrj 411da14feSzrj /*- 511da14feSzrj * Copyright (c) 1993 611da14feSzrj * The Regents of the University of California. All rights reserved. 711da14feSzrj * 811da14feSzrj * Redistribution and use in source and binary forms, with or without 911da14feSzrj * modification, are permitted provided that the following conditions 1011da14feSzrj * are met: 1111da14feSzrj * 1. Redistributions of source code must retain the above copyright 1211da14feSzrj * notice, this list of conditions and the following disclaimer. 1311da14feSzrj * 2. Redistributions in binary form must reproduce the above copyright 1411da14feSzrj * notice, this list of conditions and the following disclaimer in the 1511da14feSzrj * documentation and/or other materials provided with the distribution. 1611da14feSzrj * 3. Neither the name of the University nor the names of its contributors 1711da14feSzrj * may be used to endorse or promote products derived from this software 1811da14feSzrj * without specific prior written permission. 1911da14feSzrj * 2011da14feSzrj * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 2111da14feSzrj * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 2211da14feSzrj * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 2311da14feSzrj * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 2411da14feSzrj * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 2511da14feSzrj * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 2611da14feSzrj * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 2711da14feSzrj * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 2811da14feSzrj * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 2911da14feSzrj * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 3011da14feSzrj * SUCH DAMAGE. 3111da14feSzrj * 3211da14feSzrj * @(#)extern.h 8.1 (Berkeley) 6/11/93 3311da14feSzrj */ 3411da14feSzrj 3511da14feSzrj #include <setjmp.h> 36*d7838424SSascha Wildner #include <time.h> 3711da14feSzrj 3811da14feSzrj extern int tlimit; 3911da14feSzrj extern time_t start_t; 4011da14feSzrj extern jmp_buf env; 4111da14feSzrj extern int LIST_LINE, LIST_COL; 4211da14feSzrj extern int TIMER_LINE, TIMER_COL; 4311da14feSzrj 4411da14feSzrj extern char *board; 4511da14feSzrj extern int grid; 4611da14feSzrj extern int lastline; 4711da14feSzrj extern unsigned int ncubes; 4811da14feSzrj extern int ngames; 4911da14feSzrj extern int nlines; 5011da14feSzrj extern int usedbits; 5111da14feSzrj extern int wordlen; 5211da14feSzrj extern int wordpath[]; 5311da14feSzrj extern char **mword, **pword; 5411da14feSzrj extern int nmwords, npwords; 5511da14feSzrj extern int tnmwords, tnpwords; 5611da14feSzrj 5711da14feSzrj void addword(char *); 5811da14feSzrj void badword(void); 5911da14feSzrj char *batchword(FILE *); 6011da14feSzrj void checkdict(void); 6111da14feSzrj int checkword(char *, int, int *); 6211da14feSzrj void cleanup(void); 6311da14feSzrj void delay(int); 6411da14feSzrj long dictseek(FILE *, long, int); 6511da14feSzrj void findword(void); 6611da14feSzrj void flushin(FILE *); 6711da14feSzrj char *get_line(char *); 6811da14feSzrj void getword(char *); 6911da14feSzrj int help(void); 7011da14feSzrj int inputch(void); 7111da14feSzrj int loaddict(FILE *); 7211da14feSzrj int loadindex(const char *); 7311da14feSzrj void newgame(char *); 7411da14feSzrj char *nextword(FILE *); 7511da14feSzrj FILE *opendict(const char *); 7611da14feSzrj void playgame(void); 7711da14feSzrj void prompt(const char *); 7811da14feSzrj void prtable(char *[], int, int, int, 7911da14feSzrj void (*)(char *[], int), int (*)(char *[], int)); 8011da14feSzrj void putstr(char *); 8111da14feSzrj void redraw(void); 8211da14feSzrj void results(void); 8311da14feSzrj int setup(void); 8411da14feSzrj void showboard(char *); 8511da14feSzrj void showstr(const char *, int); 8611da14feSzrj void showword(int); 8711da14feSzrj void starttime(void); 8811da14feSzrj void startwords(void); 8911da14feSzrj void stoptime(void); 9011da14feSzrj int timerch(void); 9111da14feSzrj __dead2 void usage(void); 9211da14feSzrj int validword(char *); 93