mirror of
https://github.com/tbamud/tbamud.git
synced 2025-12-24 11:10:13 +01:00
83 lines
3 KiB
C
83 lines
3 KiB
C
/**
|
|
* @file comm.h
|
|
* Header file, prototypes of public communication functions.
|
|
*
|
|
* Part of the core tbaMUD source code distribution, which is a derivative
|
|
* of, and continuation of, CircleMUD.
|
|
*
|
|
* All rights reserved. See license for complete information.
|
|
* Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University
|
|
* CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.
|
|
*
|
|
*/
|
|
#ifndef _COMM_H_
|
|
#define _COMM_H_
|
|
|
|
#define NUM_RESERVED_DESCS 8
|
|
#define COPYOVER_FILE "copyover.dat"
|
|
|
|
/* comm.c */
|
|
void close_socket(struct descriptor_data *d);
|
|
void game_info(const char *messg, ...) __attribute__ ((format (printf, 1, 2)));
|
|
size_t send_to_char(struct char_data *ch, const char *messg, ...) __attribute__
|
|
((format (printf, 2, 3)));
|
|
void send_to_all(const char *messg, ...) __attribute__ ((format (printf, 1,
|
|
2)));
|
|
void send_to_room(room_rnum room, const char *messg, ...) __attribute__ ((format
|
|
(printf, 2, 3)));
|
|
void send_to_outdoor(const char *messg, ...) __attribute__ ((format (printf, 1,
|
|
2)));
|
|
void send_to_range(room_vnum start, room_vnum finish, const char *messg, ...)
|
|
__attribute__ ((format (printf, 3, 4)));
|
|
|
|
/* Act type settings and flags */
|
|
#define TO_ROOM 1 /**< act() type: to everyone in room, except ch. */
|
|
#define TO_VICT 2 /**< act() type: to vict_obj. */
|
|
#define TO_NOTVICT 3 /**< act() type: to everyone in room, not ch or vict_obj. */
|
|
#define TO_CHAR 4 /**< act() type: to ch. */
|
|
#define TO_GMOTE 5 /**< act() type: to gemote channel (global emote) */
|
|
#define TO_SLEEP 128 /**< act() flag: to char, even if sleeping */
|
|
#define DG_NO_TRIG 256 /**< act() flag: don't check act trigger */
|
|
|
|
|
|
/* act functions */
|
|
void perform_act(const char *orig, struct char_data *ch, struct obj_data *obj, void *vict_obj, struct char_data *to);
|
|
char * act(const char *str, int hide_invisible, struct char_data *ch, struct obj_data *obj, void *vict_obj, int type);
|
|
|
|
/* I/O functions */
|
|
void write_to_q(const char *txt, struct txt_q *queue, int aliased);
|
|
int write_to_descriptor(socket_t desc, const char *txt);
|
|
size_t write_to_output(struct descriptor_data *d, const char *txt, ...) __attribute__ ((format (printf, 2, 3)));
|
|
size_t vwrite_to_output(struct descriptor_data *d, const char *format, va_list args);
|
|
|
|
typedef RETSIGTYPE sigfunc(int);
|
|
|
|
void echo_off(struct descriptor_data *d);
|
|
void echo_on(struct descriptor_data *d);
|
|
void game_loop(socket_t mother_desc);
|
|
void heartbeat(int heart_pulse);
|
|
void copyover_recover(void);
|
|
|
|
/* global buffering system - allow access to global variables within comm.c */
|
|
#ifndef __COMM_C__
|
|
|
|
/** webster dictionary lookup */
|
|
extern long last_webster_teller;
|
|
|
|
extern struct descriptor_data *descriptor_list;
|
|
extern int buf_largecount;
|
|
extern int buf_overflows;
|
|
extern int buf_switches;
|
|
extern int circle_shutdown;
|
|
extern int circle_reboot;
|
|
extern int no_specials;
|
|
extern int scheck;
|
|
extern FILE *logfile;
|
|
extern unsigned long pulse;
|
|
extern ush_int port;
|
|
extern socket_t mother_desc;
|
|
extern int next_tick;
|
|
|
|
#endif /* __COMM_C__ */
|
|
|
|
#endif /* _COMM_H_ */
|