1 /* 2 * who.h -- header info for the WHO, ISON, and USERHOST queues. 3 * Copyright 1996 EPIC Software Labs 4 */ 5 6 #ifndef __who_h__ 7 #define __who_h__ 8 9 void clean_server_queues (int); 10 11 /* WHO queue */ 12 13 typedef struct WhoEntryT 14 { 15 int dirty; 16 int piggyback; 17 int who_mask; 18 char *who_target; 19 char *who_name; 20 char *who_host; 21 char *who_server; 22 char *who_nick; 23 char *who_real; 24 char *who_stuff; 25 char *who_end; 26 char *who_buff; 27 char *who_args; 28 struct WhoEntryT *next; 29 void (*line) (struct WhoEntryT *, char *, char **); 30 void (*end) (struct WhoEntryT *, char *, char **); 31 32 } WhoEntry; 33 34 BUILT_IN_COMMAND(whocmd); 35 void BX_whobase (char *, void (*)(WhoEntry *, char *, char **), void (*)(WhoEntry *, char *, char **), char *, ...); 36 void whoreply (char *, char **); 37 void who_end (char *, char **); 38 39 40 41 /* ISON queue */ 42 43 typedef struct IsonEntryT 44 { 45 char *ison_asked; 46 char *ison_got; 47 struct IsonEntryT *next; 48 void (*line) (char *, char *); 49 } IsonEntry; 50 51 BUILT_IN_COMMAND(isoncmd); 52 void BX_isonbase (char *args, void (*line) (char *, char *)); 53 void ison_returned (char *, char **); 54 55 56 57 /* USERHOST queue */ 58 59 typedef struct UserhostItemT 60 { 61 char * nick; 62 int oper; 63 int connected; 64 int away; 65 char * user; 66 char * host; 67 } UserhostItem; 68 69 typedef struct UserhostEntryT 70 { 71 char *userhost_asked; 72 char *text; 73 struct UserhostEntryT *next; 74 void (*func) (UserhostItem *, char *, char *); 75 } UserhostEntry; 76 77 BUILT_IN_COMMAND(userhostcmd); 78 BUILT_IN_COMMAND(useripcmd); 79 BUILT_IN_COMMAND(usripcmd); 80 void BX_userhostbase (char *arg, void (*line) (UserhostItem *, char *, char *), int, char *, ...); 81 void userhost_returned (char *, char **); 82 void userhost_cmd_returned (UserhostItem *, char *, char *); 83 84 #endif 85