95 lines
3.2 KiB
C
95 lines
3.2 KiB
C
/** @file s_misc.h
|
|
* @brief Miscellaneous support functions and declarations.
|
|
* @version $Id: s_misc.h 1436 2005-06-27 13:11:52Z entrope $
|
|
*/
|
|
#ifndef INCLUDED_s_misc_h
|
|
#define INCLUDED_s_misc_h
|
|
#ifndef INCLUDED_stdarg_h
|
|
#include <stdarg.h> /* va_list */
|
|
#define INCLUDED_stdarg_h
|
|
#endif
|
|
#ifndef INCLUDED_sys_types_h
|
|
#include <sys/types.h> /* time_t */
|
|
#define INCLUDED_sys_types_h
|
|
#endif
|
|
|
|
|
|
struct Client;
|
|
struct StatDesc;
|
|
struct ConfItem;
|
|
|
|
/*-----------------------------------------------------------------------------
|
|
* Macros
|
|
*/
|
|
|
|
/** Return value from various functions to indicate the source has
|
|
* been disconnected. */
|
|
#define CPTR_KILLED -2
|
|
|
|
/*
|
|
* Structures
|
|
*/
|
|
|
|
#ifdef HAVE_INTTYPES_H
|
|
# ifndef INCLUDED_inttypes_h
|
|
# include <inttypes.h>
|
|
# define INCLUDED_inttypes_h
|
|
# endif
|
|
#else
|
|
# ifdef HAVE_STDINT_H
|
|
# ifndef INCLUDED_stdint_h
|
|
# include <stdint.h>
|
|
# define INCLUDED_stdint_h
|
|
# endif
|
|
# endif
|
|
#endif
|
|
|
|
/** Structure used to count many server-wide statistics. */
|
|
struct ServerStatistics {
|
|
unsigned int is_cl; /**< number of client connections */
|
|
unsigned int is_sv; /**< number of server connections */
|
|
unsigned int is_ni; /**< connection but no idea who it was */
|
|
uint64_t is_cbs; /**< bytes sent to clients */
|
|
uint64_t is_cbr; /**< bytes received to clients */
|
|
uint64_t is_sbs; /**< bytes sent to servers */
|
|
uint64_t is_sbr; /**< bytes received to servers */
|
|
uint64_t is_cti; /**< time spent connected by clients */
|
|
uint64_t is_sti; /**< time spent connected by servers */
|
|
unsigned int is_ac; /**< connections accepted */
|
|
unsigned int is_ref; /**< accepts refused */
|
|
unsigned int is_unco; /**< unknown commands */
|
|
unsigned int is_wrdi; /**< command going in wrong direction */
|
|
unsigned int is_unpf; /**< unknown prefix */
|
|
unsigned int is_empt; /**< empty message */
|
|
unsigned int is_num; /**< numeric message */
|
|
unsigned int is_kill; /**< number of kills generated on collisions */
|
|
unsigned int is_fake; /**< MODE 'fakes' */
|
|
unsigned int is_asuc; /**< successful auth requests */
|
|
unsigned int is_abad; /**< bad auth requests */
|
|
unsigned int is_loc; /**< local connections made */
|
|
unsigned int uping_recv; /**< UDP Pings received */
|
|
};
|
|
|
|
/*
|
|
* Prototypes
|
|
*/
|
|
|
|
extern int check_registered(struct Client *sptr);
|
|
extern int check_registered_user(struct Client *sptr);
|
|
extern int exit_client(struct Client *cptr, struct Client *bcptr,
|
|
struct Client *sptr, const char *comment);
|
|
extern char *myctime(time_t value);
|
|
extern int exit_client_msg(struct Client *cptr, struct Client *bcptr,
|
|
struct Client *sptr, const char *pattern, ...);
|
|
extern void initstats(void);
|
|
extern char *date(time_t clock);
|
|
extern int vexit_client_msg(struct Client *cptr, struct Client *bcptr,
|
|
struct Client *sptr, const char *pattern, va_list vl);
|
|
extern void tstats(struct Client *cptr, const struct StatDesc *sd,
|
|
char *param);
|
|
|
|
extern struct ServerStatistics* ServerStats;
|
|
|
|
#endif /* INCLUDED_s_misc_h */
|
|
|