1stMud4.5.3/
1stMud4.5.3/backup/
1stMud4.5.3/bin/
1stMud4.5.3/bin/extras/
1stMud4.5.3/data/i3/
1stMud4.5.3/doc/1stMud/
1stMud4.5.3/doc/Diku/
1stMud4.5.3/doc/MPDocs/
1stMud4.5.3/doc/Rom/
1stMud4.5.3/notes/
/**************************************************************************
*  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-2004 by Markanth                *
*            http://www.firstmud.com/  <markanth@firstmud.com>            *
*         By using this code you have agreed to follow the term of        *
*             the 1stMud license in ../doc/1stMud/LICENSE                 *
***************************************************************************/

#ifndef __TYPEDEF_H_
#define __TYPEDEF_H_        	1

#ifndef __cplusplus
#ifdef HAVE_STDBOOL_H
# include <stdbool.h>
#else
# ifndef HAVE__BOOL
typedef unsigned char _Bool;
# endif
# define bool _Bool
# define false 0
# define true 1
# define __bool_true_false_are_defined 1
#endif
#endif

#ifndef TRUE
#define TRUE true
#endif

#ifndef FALSE
#define FALSE false
#endif

typedef signed long int vnum_t;
typedef unsigned long int money_t;

#ifdef HAVE_INT64_T
typedef int64_t flag_t;
#elif defined WIN32
typedef __int64 flag_t;
#elif SIZEOF_LONG_LONG == 8
typedef signed long long int flag_t;
#elif !defined DEPEND
#error "unable to find a 64 bit flag type"
#endif

typedef volatile sig_atomic_t crash_t;

#ifndef WIN32
typedef unsigned int SOCKET;
#endif

#ifndef HAVE_SOCKLEN_T
#ifdef WIN32
typedef int socklen_t;
#elif !defined HAVE_CONFIG_H
typedef unsigned int socklen_t;
#endif
#endif

typedef struct affect_data AffectData;
typedef struct area_data AreaData;
typedef struct ban_data BanData;
typedef struct buf_type Buffer;
typedef struct char_data CharData;
typedef struct descriptor_data Descriptor;
typedef struct exit_data ExitData;
typedef struct ed_data ExDescrData;
typedef struct help_data HelpData;
typedef struct kill_data KillData;
typedef struct char_index CharIndex;
typedef struct note_data NoteData;
typedef struct obj_data ObjData;
typedef struct obj_index ObjIndex;
typedef struct pc_data PcData;
typedef struct gen_data GenData;
typedef struct reset_data ResetData;
typedef struct room_index RoomIndex;
typedef struct shop_data ShopData;
typedef struct time_data TimeData;
typedef struct weather_data WeatherData;
typedef struct prog_list ProgList;
typedef struct prog_code ProgCode;
typedef struct disabled_data DisabledData;
typedef struct stat_data StatData;
typedef struct social_type SocialData;
typedef struct gquest_type Gquest;
typedef struct war_type War;
typedef struct clan_type ClanData;
typedef struct cmd_type CmdData;
typedef struct skill_type SkillData;
typedef struct group_type GroupData;
typedef struct race_type RaceData;
typedef struct class_type ClassData;
typedef struct corpse_data CorpseData;
typedef struct auction_data AuctionData;
typedef struct clan_rank ClanRank;
typedef struct deity_type DeityData;
typedef struct wpwd_data WebpassData;
typedef struct mbr_data ClanMember;
typedef struct war_data WarData;
typedef struct gquest_data GqData;
typedef struct channel_type ChannelData;
typedef struct crs_data Crs;
typedef struct mud_data Mud;
typedef struct song_data SongData;
typedef struct st_data stFile;
typedef struct column_data Column;
typedef struct msp_data MspData;
typedef struct name_profile NameProfile;
typedef struct quest_data QuestData;
typedef struct board_data BoardData;
typedef struct name_list NameList;
typedef struct wiz_data WizData;
typedef struct area_index AreaIndex;
typedef struct change_data ChangeData;
typedef struct color_type ColorData;
typedef struct color_template ColorTemplate;

typedef enum
{ act_read, act_write }
action_t;

typedef const struct datatable_type DataTable;
typedef const struct olc_ed_type OlcTable;
typedef const struct flag_type FlagTable;

typedef void Do_F(const char *, CharData *, const char *);
typedef bool Spec_F(CharData *);
typedef bool Spell_F(int, int, CharData *, void *, int);
typedef int Lookup_F(const char *);
typedef bool Validate_F(CharData *, const void *);
typedef bool Ed_F(DataTable *, CharData *, void *, const char *, void *);
typedef void Obj_F(ObjData *, const char *);
typedef void Room_F(RoomIndex *, const char *);
typedef bool Olc_F(const char *, CharData *, const char *);
typedef void TableSave_F(action_t);
typedef bool TableRW_F(action_t, void *, const char **);
typedef const char *TableShow_F(CharData *, void *);
typedef void Nanny_F(Descriptor *, const char *);

#ifndef DISABLE_WEBSRV
typedef struct web_descriptor WebDescriptor;

typedef bool Web_F(WebDescriptor *);

#define Web_Fun(fun)        	bool fun (WebDescriptor *wdesc)
#endif

#endif