/**************************************************************************
* 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