1stMUD4.0/bin/
1stMUD4.0/doc/MPDocs/
1stMUD4.0/player/
1stMUD4.0/win32/
1stMUD4.0/win32/rom/
/**************************************************************************
*  Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer,        *
*  Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe.   *
*                                                                         *
*  Merc Diku Mud improvements copyright (C) 1992, 1993 by Michael         *
*  Chastain, Michael Quan, and Mitchell Tse.                              *
*                                                                         *
*  In order to use any part of this Merc Diku Mud, you must comply with   *
*  both the original Diku license in 'license.doc' as well the Merc       *
*  license in 'license.txt'.  In particular, you may not remove either of *
*  these copyright notices.                                               *
*                                                                         *
*  Much time and thought has gone into this software and you are          *
*  benefiting.  We hope that you share your changes too.  What goes       *
*  around, comes around.                                                  *
***************************************************************************
*       ROM 2.4 is copyright 1993-1998 Russ Taylor                        *
*       ROM has been brought to you by the ROM consortium                 *
*           Russ Taylor (rtaylor@hypercube.org)                           *
*           Gabrielle Taylor (gtaylor@hypercube.org)                      *
*           Brian Moore (zump@rom.org)                                    *
*       By using this code, you have agreed to follow the terms of the    *
*       ROM license, in the file Rom24/doc/rom.license                    *
***************************************************************************
*       1stMUD ROM Derivative (c) 2001-2003 by Ryan Jennings              *
*            http://1stmud.dlmud.com/  <r-jenn@shaw.ca>                   *
***************************************************************************/
#if !defined(SIGS_H)
#define SIGS_H

typedef volatile sig_atomic_t crash_t;

struct crash_type
{
	DESCRIPTOR_DATA *desc;		// last descriptor to write to
	char shrt_cmd[MAX_INPUT_LENGTH];	// last command and arguments
	char long_cmd[MAX_INPUT_LENGTH];	// last command with more info
	int cmd_status;				// status of last command.
	crash_t crashed;			// count consecutive crashes
	bool looping;				// set when you know the mud will be in a function
	// for a long time.
};

EXTERN struct crash_type crash_info;

EXTERN DESCRIPTOR_DATA *d_next;

PROTOTYPE(void cleanup_mud, (void));
PROTOTYPE(void set_signals, (void));
PROTOTYPE(void exit_mud, (void));
PROTOTYPE(void halt_mud, (int));

#if !defined(NO_VTIMER)
PROTOTYPE(void set_vtimer, (long));
#endif

//#if !defined(HAVE_ATEXIT)
//#define exit(stat) do { exit_mud(); _exit(stat); } while(0)
//#endif

#if !defined(RETSIGTYPE)
#define RETSIGTYPE void
#endif

#endif