empiremud/cnf/
empiremud/doc/
empiremud/lib/boards/
empiremud/lib/etc/
empiremud/lib/misc/
empiremud/lib/plralias/F-J/
empiremud/lib/plralias/K-O/
empiremud/lib/plralias/P-T/
empiremud/lib/plralias/U-Z/
empiremud/lib/plrobjs/
empiremud/lib/plrobjs/F-J/
empiremud/lib/plrobjs/K-O/
empiremud/lib/plrobjs/P-T/
empiremud/lib/plrobjs/U-Z/
empiremud/lib/world/
empiremud/lib/world/mob/
empiremud/lib/world/obj/
empiremud/log/
/* ************************************************************************
*   File: comm.h                                         EmpireMUD AD 1.0 *
*  Usage: header file: prototypes of public communication functions       *
*                                                                         *
*  All rights reserved.  See license.doc for complete information.        *
*                                                                         *
*  Code base by Paul Clarke.  EmpireMUD Project, a tbgMUD Production.     *
*  Based upon CircleMUD 3.0, beta patch level 17, by Jeremy Elson.        *
*                                                                         *
*  Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
*  CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.               *
************************************************************************ */

#define NUM_RESERVED_DESCS	8

#define REBOOT_FILE			"reboot.dat"

/* comm.c */
void send_to_all(const char *messg, ...);
void send_to_char(const char *messg, Creature ch);
void msg_to_char(Creature ch, const char *messg, ...);
void send_to_room(const char *messg, room_rnum room);
void send_to_outdoor(const char *messg, ...);
void perform_to_all(const char *messg, Creature ch);
void close_socket(Descr d);

void act(const char *str, int hide_invisible, Creature ch, Object obj, const void *vict_obj, int type);

#define TO_ROOM		(1 << 0)	/* To everyone but ch				*/
#define TO_VICT		(1 << 1)	/* To vict_obj						*/
#define TO_NOTVICT	(1 << 2)	/* To everyone but ch and vict_obj	*/
#define TO_CHAR		(1 << 3)	/* To ch							*/
#define TO_SLEEP	(1 << 8)	/* to char, even if sleeping		*/
#define TO_NODARK	(1 << 9)	/* ignore darkness for CAN_SEE		*/

/* I/O functions */
int write_to_descriptor(socket_t desc, const char *txt);
void write_to_q(const char *txt, struct txt_q *queue, int aliased);
void write_to_output(const char *txt, Descr d);
void page_string(Descr d, char *str, int keep_internal);
void string_add(Descr d, char *str);
void string_write(Descr d, char **txt, size_t len, long mailto, void *data);

#define SEND_TO_Q(messg, desc)  write_to_output((messg), desc)

#define USING_SMALL(d)	((d)->output == (d)->small_outbuf)
#define USING_LARGE(d)  ((d)->output == (d)->large_outbuf)

typedef RETSIGTYPE sigfunc(int);