dbm/
misc/
old-docs/
/* io.h */

#define	IOSTATE_OK	0
#define	IOSTATE_ERR	1
#define	IOSTATE_HUNGUP	2

/* Slightly over 512, just for luck. */

#define MUDBUFSIZ	516

/*
 * IO buffer states. - a simple state machine 
 */
#define	INPUT_NEWCONN	0
#define	INPUT_PLAY	1

/*
 * an Iob is a per-user I/O buffer with file descriptor, type flag, etc. 
 */
struct Iob {
  int             typ;
  int             player;
  int             state;	/* connection status */

  int             quota;	/* how many commands left this slice */
  long            connect;	/* time connected */
  long            lastcmd;	/* time of last command. */
  int             blown;	/* number of times quota blown this session */

  struct Iob     *whofwd;
  struct Iob     *whoback;

  long            site;

  int             fd;
  int             inputcnt;
  int             outputcnt;
  int             outputtries;	/* A kludge. Don't ask */
  char            inputbuf[MUDBUFSIZ];	/* Space for terminator */
  char            outputbuf[MUDBUFSIZ];
  char           *hostname;
  char           *doing;
  char           *outputprefix;
  char           *outputsuffix;
};

typedef struct Iob Iob;

extern int      mud_port;