shithub: ircd

ref: d22d253f7d37601c8cfd4f4603dfa3489e9d0593
dir: /dat.h/

View raw version
typedef struct Prefix Prefix;
typedef struct Request Request;
typedef struct Command Command;
typedef struct Reply Reply;
typedef struct User User;
typedef struct Replybuffer Replybuffer;
typedef struct Userlist Userlist;
typedef struct Client Client;

#pragma varargck type "R" Request

struct Prefix
{
	char *name;
	char *user;
	char *host;
};

struct Request
{
	Command *cmd;
	Prefix prefix;
	char *args[15];
};

struct Command
{
	char *name;
	void (*func)(Client*,Request*);
};

struct Reply
{
	int nr;
	char *msg;
};

struct Replybuffer
{
	QLock;
	void *reply;
};

struct User
{
	char *name;
	char *realname;
	
	User *prev;
	User *next;
};

struct Userlist
{
	User *first;
};

struct Client
{
	ulong fid;
	Replybuffer replies;
	User *user;
	char *nick;
	
	Client *next;
	Client *prev;
};

extern int debug;
extern char *sysnameb;
extern char *welcome;