summaryrefslogtreecommitdiffstats
path: root/hunt
diff options
context:
space:
mode:
authormycroft <mycroft@NetBSD.org>2002-09-20 20:54:15 +0000
committermycroft <mycroft@NetBSD.org>2002-09-20 20:54:15 +0000
commita59b491d37669e51053c17262118e5fec67ad358 (patch)
treeba4a3a015e73c96fa05b76f80679c5c5e7ffdfca /hunt
parente05b1c0de535fc268d8d5ccb5f1d3d9c0f6d0d42 (diff)
downloadbsdgames-darwin-a59b491d37669e51053c17262118e5fec67ad358.tar.gz
bsdgames-darwin-a59b491d37669e51053c17262118e5fec67ad358.tar.zst
bsdgames-darwin-a59b491d37669e51053c17262118e5fec67ad358.zip
select() -> poll()
Also, turn off talk announcements; it's a wretched hack.
Diffstat (limited to 'hunt')
-rw-r--r--hunt/Makefile.inc5
-rw-r--r--hunt/huntd/answer.c20
-rw-r--r--hunt/huntd/ctl_transact.c20
-rw-r--r--hunt/huntd/driver.c161
-rw-r--r--hunt/huntd/extern.c8
-rw-r--r--hunt/huntd/faketalk.c7
-rw-r--r--hunt/huntd/hunt.h9
7 files changed, 103 insertions, 127 deletions
diff --git a/hunt/Makefile.inc b/hunt/Makefile.inc
index e350e550..e8e16663 100644
--- a/hunt/Makefile.inc
+++ b/hunt/Makefile.inc
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.4 2000/04/13 06:07:06 simonb Exp $
+# $NetBSD: Makefile.inc,v 1.5 2002/09/20 20:54:15 mycroft Exp $
#
# Hunt
# Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -38,6 +38,7 @@ GAME_PARAM= -DRANDOM -DREFLECT -DMONITOR -DOOZE -DFLY -DVOLCANO -DBOOTS \
# SIGNAL_TYPE void or int
# HPUX do special HPUX only hacks
#
+DEFS_NETBSD= -DINTERNET -DLOG -DBROADCAST -DSYSLOG_43 -DSIGNAL_TYPE=void -DUSE_CURSES
DEFS_BSD43= -DINTERNET -DLOG -DBSD_RELEASE=43 -DSIGNAL_TYPE=int
DEFS_BSD44= -DINTERNET -DLOG -DBSD_RELEASE=44 -DSIGNAL_TYPE=void -DUSE_CURSES
DEFS_SUN= -DINTERNET -DLOG -DBSD_RELEASE=42 -DBROADCAST -DSIGNAL_TYPE=int
@@ -61,7 +62,7 @@ SYSLIBS=
#
# Generic definitions
#
-DEFS= $(GAME_PARAM) $(DEFS_BSD44)
+DEFS= $(GAME_PARAM) $(DEFS_NETBSD)
CPPFLAGS+= $(SYSCFLAGS) $(DEFS) -DHUNTD=\"/usr/games/huntd\"
.include "../Makefile.inc"
diff --git a/hunt/huntd/answer.c b/hunt/huntd/answer.c
index c78fcea2..832f74cc 100644
--- a/hunt/huntd/answer.c
+++ b/hunt/huntd/answer.c
@@ -1,4 +1,4 @@
-/* $NetBSD: answer.c,v 1.3 1997/10/10 16:32:50 lukem Exp $ */
+/* $NetBSD: answer.c,v 1.4 2002/09/20 20:54:16 mycroft Exp $ */
/*
* Hunt
* Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: answer.c,v 1.3 1997/10/10 16:32:50 lukem Exp $");
+__RCSID("$NetBSD: answer.c,v 1.4 2002/09/20 20:54:16 mycroft Exp $");
#endif /* not lint */
# include <ctype.h>
@@ -37,6 +37,7 @@ answer()
char *cp1, *cp2;
int flags;
long version;
+ int i;
# ifdef INTERNET
socklen = sizeof sockstruct;
@@ -123,9 +124,10 @@ answer()
# endif
# ifdef MONITOR
if (mode == C_MONITOR)
- if (End_monitor < &Monitor[MAXMON])
+ if (End_monitor < &Monitor[MAXMON]) {
pp = End_monitor++;
- else {
+ i = pp - Monitor + MAXPL + 3;
+ } else {
socklen = 0;
(void) write(newsock, (char *) &socklen,
sizeof socklen);
@@ -134,9 +136,10 @@ answer()
}
else
# endif
- if (End_player < &Player[MAXPL])
+ if (End_player < &Player[MAXPL]) {
pp = End_player++;
- else {
+ i = pp - Player + 3;
+ } else {
socklen = 0;
(void) write(newsock, (char *) &socklen,
sizeof socklen);
@@ -152,9 +155,8 @@ answer()
pp->p_output = fdopen(newsock, "w");
pp->p_death[0] = '\0';
pp->p_fd = newsock;
- FD_SET(pp->p_fd, &Fds_mask);
- if (pp->p_fd >= Num_fds)
- Num_fds = pp->p_fd + 1;
+ fdset[i].fd = newsock;
+ fdset[i].events = POLLIN;
pp->p_y = 0;
pp->p_x = 0;
diff --git a/hunt/huntd/ctl_transact.c b/hunt/huntd/ctl_transact.c
index 71e1610b..8d303744 100644
--- a/hunt/huntd/ctl_transact.c
+++ b/hunt/huntd/ctl_transact.c
@@ -1,4 +1,4 @@
-/* $NetBSD: ctl_transact.c,v 1.4 2001/06/12 15:17:12 wiz Exp $ */
+/* $NetBSD: ctl_transact.c,v 1.5 2002/09/20 20:54:16 mycroft Exp $ */
/*
* Copyright (c) 1983 Regents of the University of California.
* All rights reserved. The Berkeley software License Agreement
@@ -14,7 +14,7 @@
#if 0
static char sccsid[] = "@(#)ctl_transact.c 5.2 (Berkeley) 3/13/86";
#else
-__RCSID("$NetBSD: ctl_transact.c,v 1.4 2001/06/12 15:17:12 wiz Exp $");
+__RCSID("$NetBSD: ctl_transact.c,v 1.5 2002/09/20 20:54:16 mycroft Exp $");
#endif
#endif /* not lint */
@@ -38,24 +38,21 @@ ctl_transact(target, msg, type, rp)
int type;
CTL_RESPONSE *rp;
{
- fd_set read_mask, ctl_mask;
+ struct pollfd set[1];
int nready, cc, retries;
- struct timeval wait;
nready = 0;
msg.type = type;
daemon_addr.sin_addr = target;
daemon_addr.sin_port = daemon_port;
- FD_ZERO(&ctl_mask);
- FD_SET(ctl_sockt, &ctl_mask);
+ set[0].fd = ctl_sockt;
+ set[0].events = POLLIN;
/*
* Keep sending the message until a response of
* the proper type is obtained.
*/
do {
- wait.tv_sec = CTL_WAIT;
- wait.tv_usec = 0;
/* resend message until a response is obtained */
for (retries = MAX_RETRY; retries > 0; retries -= 1) {
cc = sendto(ctl_sockt, (char *)&msg, sizeof (msg), 0,
@@ -65,8 +62,7 @@ ctl_transact(target, msg, type, rp)
continue;
p_error("Error on write to talk daemon");
}
- read_mask = ctl_mask;
- nready = select(32, &read_mask, 0, 0, &wait);
+ nready = poll(set, 1, CTL_WAIT * 1000);
if (nready < 0) {
if (errno == EINTR)
continue;
@@ -89,10 +85,8 @@ ctl_transact(target, msg, type, rp)
continue;
p_error("Error on read from talk daemon");
}
- read_mask = ctl_mask;
/* an immediate poll */
- timerclear(&wait);
- nready = select(32, &read_mask, 0, 0, &wait);
+ nready = poll(set, 1, 0);
} while (nready > 0 && (
#ifdef TALK_43
rp->vers != TALK_VERSION ||
diff --git a/hunt/huntd/driver.c b/hunt/huntd/driver.c
index c8a4c806..63ac0824 100644
--- a/hunt/huntd/driver.c
+++ b/hunt/huntd/driver.c
@@ -1,4 +1,4 @@
-/* $NetBSD: driver.c,v 1.7 2001/01/09 23:49:54 lukem Exp $ */
+/* $NetBSD: driver.c,v 1.8 2002/09/20 20:54:16 mycroft Exp $ */
/*
* Hunt
* Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: driver.c,v 1.7 2001/01/09 23:49:54 lukem Exp $");
+__RCSID("$NetBSD: driver.c,v 1.8 2002/09/20 20:54:16 mycroft Exp $");
#endif /* not lint */
# include <sys/ioctl.h>
@@ -44,12 +44,12 @@ u_short stat_port; /* port # of statistics tcp socket */
# endif
static void clear_scores __P((void));
-static int havechar __P((PLAYER *));
+static int havechar __P((PLAYER *, int));
static void init __P((void));
int main __P((int, char *[], char *[]));
static void makeboots __P((void));
static void send_stats __P((void));
-static void zap __P((PLAYER *, FLAG));
+static void zap __P((PLAYER *, FLAG, int));
/*
@@ -62,18 +62,16 @@ main(ac, av, ep)
char **av, **ep;
{
PLAYER *pp;
- int had_char;
# ifdef INTERNET
u_short msg;
short port_num, reply;
int namelen;
SOCKET test;
# endif
- static fd_set read_fds;
static FLAG first = TRUE;
static FLAG server = FALSE;
- int c;
- static struct timeval linger = { 90, 0 };
+ int c, i;
+ const int linger = 90 * 1000;
First_arg = av[0];
if (ep == NULL || *ep == NULL)
@@ -107,9 +105,8 @@ erred:
again:
do {
- read_fds = Fds_mask;
errno = 0;
- while (select(Num_fds, &read_fds, NULL, NULL, NULL) < 0)
+ while (poll(fdset, 3+MAXPL+MAXMON, INFTIM) < 0)
{
if (errno != EINTR)
# ifdef LOG
@@ -119,9 +116,8 @@ again:
# endif
errno = 0;
}
- Have_inp = read_fds;
# ifdef INTERNET
- if (FD_ISSET(Test_socket, &read_fds)) {
+ if (fdset[2].revents & POLLIN) {
namelen = DAEMON_SIZE;
port_num = htons(sock_port);
(void) recvfrom(Test_socket, (char *) &msg, sizeof msg,
@@ -153,39 +149,34 @@ again:
}
}
# endif
- for (;;) {
- had_char = FALSE;
- for (pp = Player; pp < End_player; pp++)
- if (havechar(pp)) {
+ {
+ for (pp = Player, i = 0; pp < End_player; pp++, i++)
+ if (havechar(pp, i + 3)) {
execute(pp);
pp->p_nexec++;
- had_char++;
}
# ifdef MONITOR
- for (pp = Monitor; pp < End_monitor; pp++)
- if (havechar(pp)) {
+ for (pp = Monitor, i = 0; pp < End_monitor; pp++, i++)
+ if (havechar(pp, i + MAXPL + 3)) {
mon_execute(pp);
pp->p_nexec++;
- had_char++;
}
# endif
- if (!had_char)
- break;
moveshots();
- for (pp = Player; pp < End_player; )
+ for (pp = Player, i = 0; pp < End_player; )
if (pp->p_death[0] != '\0')
- zap(pp, TRUE);
+ zap(pp, TRUE, i + 3);
else
- pp++;
+ pp++, i++;
# ifdef MONITOR
- for (pp = Monitor; pp < End_monitor; )
+ for (pp = Monitor, i = 0; pp < End_monitor; )
if (pp->p_death[0] != '\0')
- zap(pp, FALSE);
+ zap(pp, FALSE, i + MAXPL + 3);
else
- pp++;
+ pp++, i++;
# endif
}
- if (FD_ISSET(Socket, &read_fds))
+ if (fdset[0].revents & POLLIN)
if (answer()) {
# ifdef INTERNET
if (first && standard_port)
@@ -193,17 +184,17 @@ again:
# endif
first = FALSE;
}
- if (FD_ISSET(Status, &read_fds))
+ if (fdset[1].revents & POLLIN)
send_stats();
- for (pp = Player; pp < End_player; pp++) {
- if (FD_ISSET(pp->p_fd, &read_fds))
+ for (pp = Player, i = 0; pp < End_player; pp++, i++) {
+ if (fdset[i + 3].revents & POLLIN)
sendcom(pp, READY, pp->p_nexec);
pp->p_nexec = 0;
(void) fflush(pp->p_output);
}
# ifdef MONITOR
- for (pp = Monitor; pp < End_monitor; pp++) {
- if (FD_ISSET(pp->p_fd, &read_fds))
+ for (pp = Monitor, i = 0; pp < End_monitor; pp++, i++) {
+ if (fdset[i + MAXPL + 3].revents & POLLIN)
sendcom(pp, READY, pp->p_nexec);
pp->p_nexec = 0;
(void) fflush(pp->p_output);
@@ -211,8 +202,7 @@ again:
# endif
} while (Nplayer > 0);
- read_fds = Fds_mask;
- if (select(Num_fds, &read_fds, NULL, NULL, &linger) > 0) {
+ if (poll(fdset, 3+MAXPL+MAXMON, linger) > 0) {
goto again;
}
if (server) {
@@ -227,8 +217,8 @@ again:
}
# ifdef MONITOR
- for (pp = Monitor; pp < End_monitor; )
- zap(pp, FALSE);
+ for (pp = Monitor, i = 0; pp < End_monitor; i++)
+ zap(pp, FALSE, i + MAXPL + 3);
# endif
cleanup(0);
/* NOTREACHED */
@@ -365,10 +355,10 @@ init()
/*
* Initialize minimal select mask
*/
- FD_ZERO(&Fds_mask);
- FD_SET(Socket, &Fds_mask);
- FD_SET(Status, &Fds_mask);
- Num_fds = ((Socket > Status) ? Socket : Status) + 1;
+ fdset[0].fd = Socket;
+ fdset[0].events = POLLIN;
+ fdset[1].fd = Status;
+ fdset[1].events = POLLIN;
# ifdef INTERNET
len = sizeof (SOCKET);
@@ -397,9 +387,10 @@ init()
(void) listen(Test_socket, 5);
}
- FD_SET(Test_socket, &Fds_mask);
- if (Test_socket + 1 > Num_fds)
- Num_fds = Test_socket + 1;
+ fdset[2].fd = Test_socket;
+ fdset[2].events = POLLIN;
+# else
+ fdset[2].fd = -1;
# endif
Seed = getpid() + time((time_t *) NULL);
@@ -582,11 +573,12 @@ checkdam(ouch, gotcha, credit, amt, shot_type)
* Kill off a player and take him out of the game.
*/
static void
-zap(pp, was_player)
+zap(pp, was_player, i)
PLAYER *pp;
FLAG was_player;
+ int i;
{
- int i, len;
+ int n, len;
BULLET *bp;
PLAYER *np;
int x, y;
@@ -603,8 +595,8 @@ zap(pp, was_player)
x = (WIDTH - len) / 2;
cgoto(pp, HEIGHT / 2, x);
outstr(pp, pp->p_death, len);
- for (i = 1; i < len; i++)
- pp->p_death[i] = '-';
+ for (n = 1; n < len; n++)
+ pp->p_death[n] = '-';
pp->p_death[0] = '+';
pp->p_death[len - 1] = '+';
cgoto(pp, HEIGHT / 2 - 1, x);
@@ -625,22 +617,22 @@ zap(pp, was_player)
bp->b_over = SPACE;
}
- i = rand_num(pp->p_ammo);
+ n = rand_num(pp->p_ammo);
x = rand_num(pp->p_ammo);
- if (x > i)
- i = x;
+ if (x > n)
+ n = x;
if (pp->p_ammo == 0)
x = 0;
- else if (i == pp->p_ammo - 1) {
+ else if (n == pp->p_ammo - 1) {
x = pp->p_ammo;
len = SLIME;
}
else {
for (x = MAXBOMB - 1; x > 0; x--)
- if (i >= shot_req[x])
+ if (n >= shot_req[x])
break;
for (y = MAXSLIME - 1; y > 0; y--)
- if (i >= slime_req[y])
+ if (n >= slime_req[y])
break;
if (y >= 0 && slime_req[y] > shot_req[x]) {
x = slime_req[y];
@@ -728,31 +720,34 @@ zap(pp, was_player)
End_player--;
if (pp != End_player) {
memcpy(pp, End_player, sizeof (PLAYER));
+ fdset[i] = fdset[End_player - Player + 3];
+ fdset[End_player - Player + 3].fd = -1;
(void) sprintf(Buf, "%5.2f%c%-10.10s %c",
pp->p_ident->i_score, stat_char(pp),
pp->p_ident->i_name, pp->p_ident->i_team);
- i = STAT_PLAY_ROW + 1 + (pp - Player);
+ n = STAT_PLAY_ROW + 1 + (pp - Player);
for (np = Player; np < End_player; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
outstr(np, Buf, STAT_NAME_LEN);
}
# ifdef MONITOR
for (np = Monitor; np < End_monitor; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
outstr(np, Buf, STAT_NAME_LEN);
}
# endif
- }
+ } else
+ fdset[i].fd = -1;
/* Erase the last player */
- i = STAT_PLAY_ROW + 1 + Nplayer;
+ n = STAT_PLAY_ROW + 1 + Nplayer;
for (np = Player; np < End_player; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
ce(np);
}
# ifdef MONITOR
for (np = Monitor; np < End_monitor; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
ce(np);
}
}
@@ -764,50 +759,34 @@ zap(pp, was_player)
End_monitor--;
if (pp != End_monitor) {
memcpy(pp, End_monitor, sizeof (PLAYER));
+ fdset[i] = fdset[End_monitor - Monitor + MAXPL + 3];
+ fdset[End_monitor - Monitor + MAXPL + 3].fd = -1;
(void) sprintf(Buf, "%5.5s %-10.10s %c", " ",
pp->p_ident->i_name, pp->p_ident->i_team);
- i = STAT_MON_ROW + 1 + (pp - Player);
+ n = STAT_MON_ROW + 1 + (pp - Player);
for (np = Player; np < End_player; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
outstr(np, Buf, STAT_NAME_LEN);
}
for (np = Monitor; np < End_monitor; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
outstr(np, Buf, STAT_NAME_LEN);
}
- }
+ } else
+ fdset[i].fd = -1;
/* Erase the last monitor */
- i = STAT_MON_ROW + 1 + (End_monitor - Monitor);
+ n = STAT_MON_ROW + 1 + (End_monitor - Monitor);
for (np = Player; np < End_player; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
ce(np);
}
for (np = Monitor; np < End_monitor; np++) {
- cgoto(np, i, STAT_NAME_COL);
+ cgoto(np, n, STAT_NAME_COL);
ce(np);
}
-
}
# endif
-
- FD_CLR(savefd, &Fds_mask);
- if (Num_fds == savefd + 1) {
- Num_fds = Socket;
-# ifdef INTERNET
- if (Test_socket > Socket)
- Num_fds = Test_socket;
-# endif
- for (np = Player; np < End_player; np++)
- if (np->p_fd > Num_fds)
- Num_fds = np->p_fd;
-# ifdef MONITOR
- for (np = Monitor; np < End_monitor; np++)
- if (np->p_fd > Num_fds)
- Num_fds = np->p_fd;
-# endif
- Num_fds++;
- }
}
/*
@@ -828,15 +807,15 @@ rand_num(range)
* FALSE.
*/
static int
-havechar(pp)
+havechar(pp, i)
PLAYER *pp;
+ int i;
{
if (pp->p_ncount < pp->p_nchar)
return TRUE;
- if (!FD_ISSET(pp->p_fd, &Have_inp))
+ if (!(fdset[i].revents & POLLIN))
return FALSE;
- FD_CLR(pp->p_fd, &Have_inp);
check_again:
errno = 0;
if ((pp->p_nchar = read(pp->p_fd, pp->p_cbuf, sizeof pp->p_cbuf)) <= 0)
diff --git a/hunt/huntd/extern.c b/hunt/huntd/extern.c
index e25ba836..d11b0ca5 100644
--- a/hunt/huntd/extern.c
+++ b/hunt/huntd/extern.c
@@ -1,4 +1,4 @@
-/* $NetBSD: extern.c,v 1.2 1997/10/10 16:33:24 lukem Exp $ */
+/* $NetBSD: extern.c,v 1.3 2002/09/20 20:54:16 mycroft Exp $ */
/*
* Hunt
* Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -7,7 +7,7 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: extern.c,v 1.2 1997/10/10 16:33:24 lukem Exp $");
+__RCSID("$NetBSD: extern.c,v 1.3 2002/09/20 20:54:16 mycroft Exp $");
#endif /* not lint */
# include "hunt.h"
@@ -20,10 +20,8 @@ char Buf[BUFSIZ]; /* general scribbling buffer */
char Maze[HEIGHT][WIDTH2]; /* the maze */
char Orig_maze[HEIGHT][WIDTH2]; /* the original maze */
-fd_set Fds_mask; /* mask for the file descriptors */
-fd_set Have_inp; /* which file descriptors have input */
+struct pollfd fdset[3+MAXPL+MAXMON];
int Nplayer = 0; /* number of players */
-int Num_fds; /* number of maximum file descriptor */
int Socket; /* main socket */
int Status; /* stat socket */
int See_over[NASCII]; /* lookup table for determining whether
diff --git a/hunt/huntd/faketalk.c b/hunt/huntd/faketalk.c
index 132a523f..92ed83b3 100644
--- a/hunt/huntd/faketalk.c
+++ b/hunt/huntd/faketalk.c
@@ -1,4 +1,4 @@
-/* $NetBSD: faketalk.c,v 1.6 2001/02/05 00:42:14 christos Exp $ */
+/* $NetBSD: faketalk.c,v 1.7 2002/09/20 20:54:16 mycroft Exp $ */
/*
* Hunt
* Copyright (c) 1985 Conrad C. Huang, Gregory S. Couch, Kenneth C.R.C. Arnold
@@ -11,10 +11,11 @@
#include <sys/cdefs.h>
#ifndef lint
-__RCSID("$NetBSD: faketalk.c,v 1.6 2001/02/05 00:42:14 christos Exp $");
+__RCSID("$NetBSD: faketalk.c,v 1.7 2002/09/20 20:54:16 mycroft Exp $");
#endif /* not lint */
#include "bsd.h"
+#include "hunt.h"
#if defined(TALK_43) || defined(TALK_42)
@@ -26,7 +27,6 @@ __RCSID("$NetBSD: faketalk.c,v 1.6 2001/02/05 00:42:14 christos Exp $");
# include <stdio.h>
# include <string.h>
# include <unistd.h>
-# include "hunt.h"
# include "talk_ctl.h"
# define TRUE 1
@@ -222,6 +222,7 @@ do_announce(s)
p_error("send delete remote");
}
#else
+void
faketalk()
{
return;
diff --git a/hunt/huntd/hunt.h b/hunt/huntd/hunt.h
index 1bb208b8..a76a777e 100644
--- a/hunt/huntd/hunt.h
+++ b/hunt/huntd/hunt.h
@@ -1,4 +1,4 @@
-/* $NetBSD: hunt.h,v 1.6 2000/01/21 17:08:34 mycroft Exp $ */
+/* $NetBSD: hunt.h,v 1.7 2002/09/20 20:54:17 mycroft Exp $ */
/*
* Hunt
@@ -20,7 +20,7 @@
# endif
# include <sys/types.h>
# include <sys/uio.h>
-# include <sys/socket.h>
+# include <sys/poll.h>
# ifdef INTERNET
# include <netinet/in.h>
# include <netdb.h>
@@ -81,6 +81,7 @@
# define MAXMON 1
# else
# define MAXPL 17
+# define MAXMON 0
# endif
# define SHORTLEN 2 /* sizeof (network short) */
# define LONGLEN 4 /* sizeof (network long) */
@@ -346,8 +347,8 @@ extern char Buf[BUFSIZ], Maze[HEIGHT][WIDTH2], Orig_maze[HEIGHT][WIDTH2];
extern char *Sock_name, *Driver;
-extern int Nplayer, Num_fds, Socket, Status;
-extern fd_set Fds_mask, Have_inp;
+extern int Nplayer, Socket, Status;
+extern struct pollfd fdset[];
# ifdef INTERNET
extern u_short Test_port;