1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234
|
/*
* Copyright Colten Edwards 1997.
* various miscellaneous routines needed for irc functions
*/
#ifndef _misc_h
#define _misc_h
#define KICKLIST 0x01
#define LEAVELIST 0x02
#define JOINLIST 0x03
#define CHANNELSIGNOFFLIST 0x04
#define PUBLICLIST 0x05
#define PUBLICOTHERLIST 0x06
#define PUBLICNOTICELIST 0x07
#define NOTICELIST 0x08
#define TOPICLIST 0x09
#define MODEOPLIST 0x0a
#define MODEDEOPLIST 0x0b
#define MODEBANLIST 0x0c
#define MODEUNBANLIST 0x0d
#define NICKLIST 0x0e
#define MODEHOPLIST 0x0f
#define MODEDEHOPLIST 0x10
#define MODEEBANLIST 0x11
#define MODEUNEBANLIST 0x12
enum color_attributes {
BLACK = 0, BLUE, GREEN, CYAN, RED, MAGENTA, YELLOW, WHITE,
BLACKB, BLUEB, GREENB, CYANB, REDB, MAGENTAB, YELLOWB, WHITEB,NO_COLOR,
BACK_BLACK, BACK_RED, BACK_GREEN, BACK_YELLOW,
BACK_BLUE, BACK_MAGENTA, BACK_CYAN, BACK_WHITE,
BACK_BBLACK, BACK_BRED, BACK_BGREEN, BACK_BYELLOW,
BACK_BBLUE, BACK_BMAGENTA, BACK_BCYAN, BACK_BWHITE,
REVERSE_COLOR, BOLD_COLOR, BLINK_COLOR, UNDERLINE_COLOR
};
#define DONT_CARE 3
#define NEED_OP 1
#define NO_OP 0
extern char *color_str[];
extern int split_watch;
void clear_link (irc_server **);
extern irc_server *tmplink, *server_last;
#ifndef BITCHX_LITE
#define MAX_LAST_MSG 10
#else
#define MAX_LAST_MSG 2
#endif
extern LastMsg last_msg[MAX_LAST_MSG+1];
extern LastMsg last_dcc[MAX_LAST_MSG+1];
extern LastMsg last_sent_dcc[MAX_LAST_MSG+1];
extern LastMsg last_notice[MAX_LAST_MSG+1];
extern LastMsg last_servermsg[MAX_LAST_MSG+1];
extern LastMsg last_sent_msg[MAX_LAST_MSG+1];
extern LastMsg last_sent_notice[MAX_LAST_MSG+1];
extern LastMsg last_sent_topic[2];
extern LastMsg last_sent_wall[2];
extern LastMsg last_topic[2];
extern LastMsg last_wall[MAX_LAST_MSG+1];
extern LastMsg last_invite_channel[2];
extern LastMsg last_ctcp[2];
extern LastMsg last_sent_ctcp[2];
void update_stats (int, char *, NickList *, ChannelList *, int);
int check_split (char *, char *, char *);
void BX_userage (char *, char *);
void stats_k_grep_end (void);
char *stripansicodes (const unsigned char *);
char *stripansi (unsigned char *);
NickTab *BX_gettabkey (int, int, char *);
void BX_addtabkey (char *, char *, int);
void clear_array (NickTab **, char *);
char *BX_random_str (int, int);
int check_serverlag (void);
void auto_away (unsigned long);
ChannelList * BX_prepare_command (int *, char *, int);
int rename_file (char *, char **);
void putlog (int, ...);
void add_mode_buffer ( char *, int);
void flush_mode (ChannelList *);
void flush_mode_all (ChannelList *);
void add_mode (ChannelList *, char *, int, char *, char *, int);
int delay_flush_all (void *, char *);
char *clear_server_flags (char *);
char *ban_it (char *, char *, char *, char *);
void log_toggle (int, ChannelList *);
char *cluster (char *);
int caps_fucknut (register unsigned char *);
void do_reconnect (char *);
int are_you_opped (char *);
void error_not_opped (char *);
char *get_reason (char *, char *);
char *get_realname(char *);
char *get_signoffreason (char *);
int isme (char *);
char *BX_convert_output_format (const char *, const char *, ...);
char *convert_output_format2 (const char *);
void add_last_type (LastMsg *, int, char *, char *, char *, char *);
int check_last_type (LastMsg *, int, char *, char *);
int matchmcommand (char *, int);
char *convert_time (time_t);
char *BX_make_channel(char *);
int timer_unban (void *, char *);
void check_server_connect (int);
char *country(char *);
int do_newuser (char *, char *, char *);
int char_fucknut (register unsigned char *, char, int);
BanList *ban_is_on_channel(register char *, register ChannelList *);
BanList *eban_is_on_channel(register char *, register ChannelList *);
void check_orig_nick(char *);
char *do_nslookup (char *, char *, char *, char *, int, void (*func)(), char *);
void set_nslookupfd(fd_set *);
long print_nslookup(fd_set *);
void ns_init(void);
void auto_nslookup();
int freadln(FILE *, char *);
void BX_close_socketread(int);
int BX_add_socketread(int, int, unsigned long, char *, void (*func_read)(int), void (*func_write)(int));
int BX_check_socket(int);
void set_socket_read (fd_set *, fd_set *);
void scan_sockets (fd_set *, fd_set *);
void read_clonelist(int);
void read_clonenotify(int);
void read_netfinger(int);
int BX_write_sockets(int, unsigned char *, int, int);
int BX_read_sockets(int, unsigned char *, int);
unsigned long BX_set_socketflags(int, unsigned long);
void *BX_get_socketinfo(int);
void BX_set_socketinfo(int, void *);
unsigned long BX_get_socketflags(int);
char *get_socketserver(int);
SocketList *BX_get_socket(int);
void BX_add_sockettimeout(int, time_t, void *);
int BX_get_max_fd(void);
int BX_set_socketwrite(int);
#ifdef GUI
void scan_gui(fd_set *);
#endif
#ifdef WANT_NSLOOKUP
/*
* alib.h (C)opyright 1992 Darren Reed.
*/
#define ARES_INITLIST 1
#define ARES_CALLINIT 2
#define ARES_INITSOCK 4
#define ARES_INITDEBG 8
#define ARES_INITCACH 16
#define MAXPACKET 1024
#define MAXALIASES 35
#define MAXADDRS 35
#define RES_CHECKPTR 0x0400
struct hent {
char *h_name; /* official name of host */
char *h_aliases[MAXALIASES]; /* alias list */
int h_addrtype; /* host address type */
int h_length; /* length of address */
/* list of addresses from name server */
struct in_addr h_addr_list[MAXADDRS];
#define h_addr h_addr_list[0] /* address, for backward compatiblity */
};
struct resinfo {
char *ri_ptr;
int ri_size;
};
struct reslist {
int re_id;
char re_type;
char re_retries;
char re_resend; /* send flag. 0 == dont resend */
char re_sends;
char re_srch;
int re_sent;
u_long re_sentat;
u_long re_timeout;
struct in_addr re_addr;
struct resinfo re_rinfo;
struct hent re_he;
struct reslist *re_next, *re_prev;
char re_name[65];
char *nick;
char *host;
char *user;
char *channel;
char *command;
int server;
void (*func)();
};
struct hostent *ar_answer(char *, int, void (*func)(struct reslist *) );
void ar_close(void);
int ar_delete(char *, int);
int ar_gethostbyname(char *, char *, int, char *, char *, char *, char *, int, void (*func)(), char *);
int ar_gethostbyaddr(char *, char *, int, char *, char *, char *, char *, int, void (*func)(), char *);
int ar_init(int);
int ar_open(void);
long ar_timeout(time_t, char *, int, void (*func)(struct reslist *) );
void ar_rename_nick(char *, char *, int);
#endif
#ifndef MIN
#define MIN(a,b) ((a) > (b) ? (b) : (a))
#endif
#define getrandom(min, max) ((rand() % (int)(((max)+1) - (min))) + (min))
extern char *auto_str;
#endif
|