/* * RAM $Id: recycle.h 16 2008-10-22 04:42:21Z ram $ */ /*************************************************************************** * Original Diku Mud copyright (C) 1990, 1991 by Sebastian Hammer, * * Michael Seifert, Hans Henrik St{rfeldt, Tom Madsen, and Katja Nyboe. * * * * Merc Diku Mud improvments 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 * * benefitting. 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 * ***************************************************************************/ /* stuff for providing a crash-proof buffer */ #define MAX_BUF 16384 #define MAX_BUF_LIST 10 #define BASE_BUF 1024 /* valid states */ #define BUFFER_SAFE 0 #define BUFFER_OVERFLOW 1 #define BUFFER_FREED 2 /* note recycling */ extern NOTE_DATA *note_free; NOTE_DATA *new_note( void ); void free_note( NOTE_DATA *note ); /* ban data recycling */ extern BAN_DATA *ban_free; BAN_DATA *new_ban( void ); void free_ban( BAN_DATA *ban ); /* descriptor recycling */ extern DESCRIPTOR_DATA *descriptor_free; DESCRIPTOR_DATA *new_descriptor( void ); void free_descriptor( DESCRIPTOR_DATA *d ); /* char gen data recycling */ extern GEN_DATA *gen_data_free; GEN_DATA *new_gen_data( void ); void free_gen_data( GEN_DATA *gen ); /* extra descr recycling */ extern EXTRA_DESCR_DATA *extra_descr_free; EXTRA_DESCR_DATA *new_extra_descr( void ); void free_extra_descr( EXTRA_DESCR_DATA *ed ); /* affect recycling */ extern AFFECT_DATA *affect_free; AFFECT_DATA *new_affect( void ); void free_affect( AFFECT_DATA *af ); /* object recycling */ extern OBJ_DATA *obj_free; OBJ_DATA *new_obj( void ); void free_obj( OBJ_DATA *obj ); /* character recyling */ extern CHAR_DATA *char_free; extern PC_DATA *pcdata_free; CHAR_DATA *new_char( void ); void free_char( CHAR_DATA *ch ); PC_DATA *new_pcdata( void ); void free_pcdata( PC_DATA *pcdata ); /* mob id and memory procedures */ extern int last_pc_id; extern int last_mob_id; extern MEM_DATA *mem_data_free; int get_pc_id( void ); int get_mob_id( void ); MEM_DATA *new_mem_data( void ); void free_mem_data( MEM_DATA *memory ); /* buffer procedures */ extern const int buf_size[MAX_BUF_LIST]; int get_size( int val ); BUFFER *new_buf( void ); BUFFER *new_buf_size( int size ); void free_buf( BUFFER *buffer ); bool add_buf( BUFFER *buffer, const char *string ); void clear_buf( BUFFER *buffer ); char *buf_string( BUFFER *buffer );