1enum {2 Pmsg, /* private message */3 Smsg, /* server message */4 Nmsg, /* notice */5 Lmsg, /* message sent by the client to server */6 Cmd, /* some other event such as a quit/join */7 Err = -1;8};910typedef struct Line Line;11struct Line12{13 int type;14 char *from; /* who sent the message, can be nil for server messages */15 char *uhost; /* host where the message came from */16 int mid; /* message id for server messages17 char *to; /* target for the message */18 char *cmd; /* JOIN/QUIT, etc. may be nil */19 char *text; /* message text */20};21#pragma varargck type "L" Line*2223void setwintitle(char *chan);2425int rtcs(int fd, char *cset);26int wtcs(int fd, char *cset);27int follow(int fd);2829int pmsg(int fd, char *pre, char *cmd, char *par[]);30int ntc(int fd, char *pre, char *cmd, char *par[]);31int generic(int fd, char *pre, char *cmd, char *par[]);32int misc(int fd, char *pre, char *cmd, char *par[]);33int numeric(int fd, char *pre, char *cmd, char *par[]);3435#define dprint if(debug) print36