1 /* 2 * hook.h: header for hook.c 3 * 4 * Copyright 1990, 1995 Michael Sandrof, Matthew Green and others 5 * Copyright 1997 EPIC Software Labs 6 * See the COPYRIGHT file for license information. 7 */ 8 9 #ifndef __hook_h__ 10 #define __hook_h__ 11 12 enum HOOK_TYPES { 13 ACTION_LIST, 14 CHANNEL_NICK_LIST, 15 CHANNEL_SIGNOFF_LIST, 16 CHANNEL_SYNC_LIST, 17 CONNECT_LIST, 18 CTCP_LIST, 19 CTCP_REPLY_LIST, 20 CTCP_REQUEST_LIST, 21 DCC_ACTIVITY_LIST, 22 DCC_CHAT_LIST, 23 DCC_CONNECT_LIST, 24 DCC_LIST_LIST, 25 DCC_LOST_LIST, 26 DCC_OFFER_LIST, 27 DCC_RAW_LIST, 28 DCC_REQUEST_LIST, 29 DISCONNECT_LIST, 30 ENCRYPTED_NOTICE_LIST, 31 ENCRYPTED_PRIVMSG_LIST, 32 ERROR_LIST, 33 EXEC_LIST, 34 EXEC_ERRORS_LIST, 35 EXEC_EXIT_LIST, 36 EXEC_PROMPT_LIST, 37 EXIT_LIST, 38 FLOOD_LIST, 39 GENERAL_NOTICE_LIST, 40 GENERAL_PRIVMSG_LIST, 41 HELP_LIST, 42 HOOK_LIST, 43 IDLE_LIST, 44 INPUT_LIST, 45 INVITE_LIST, 46 JOIN_LIST, 47 KICK_LIST, 48 KILL_LIST, 49 LEAVE_LIST, 50 LIST_LIST, 51 MAIL_LIST, 52 MODE_LIST, 53 MODE_STRIPPED_LIST, 54 MSG_LIST, 55 MSG_GROUP_LIST, 56 NAMES_LIST, 57 NICKNAME_LIST, 58 NOTE_LIST, 59 NOTICE_LIST, 60 NOTIFY_SIGNOFF_LIST, 61 NOTIFY_SIGNON_LIST, 62 ODD_SERVER_STUFF_LIST, 63 OPER_NOTICE_LIST, 64 PONG_LIST, 65 PUBLIC_LIST, 66 PUBLIC_MSG_LIST, 67 PUBLIC_NOTICE_LIST, 68 PUBLIC_OTHER_LIST, 69 RAW_IRC_LIST, 70 REDIRECT_LIST, 71 SEND_ACTION_LIST, 72 SEND_CTCP_LIST, 73 SEND_DCC_CHAT_LIST, 74 SEND_MSG_LIST, 75 SEND_NOTICE_LIST, 76 SEND_PUBLIC_LIST, 77 SEND_TO_SERVER_LIST, 78 SERVER_ESTABLISHED_LIST, 79 SERVER_LOST_LIST, 80 SERVER_NOTICE_LIST, 81 SET_LIST, 82 SIGNAL_LIST, 83 SIGNOFF_LIST, 84 SILENCE_LIST, 85 SSL_SERVER_CERT_LIST, 86 STATUS_UPDATE_LIST, 87 SWITCH_CHANNELS_LIST, 88 SWITCH_WINDOWS_LIST, 89 TIMER_LIST, 90 TOPIC_LIST, 91 UNLOAD_LIST, 92 WALL_LIST, 93 WALLOP_LIST, 94 WHO_LIST, 95 WIDELIST_LIST, 96 WINDOW_LIST, 97 WINDOW_COMMAND_LIST, 98 WINDOW_CREATE_LIST, 99 WINDOW_BEFOREKILL_LIST, 100 WINDOW_KILL_LIST, 101 YELL_LIST, 102 ZZZZ_THIS_ALWAYS_COMES_LAST_ZZZZ 103 }; 104 105 #define NUMBER_OF_LISTS ZZZZ_THIS_ALWAYS_COMES_LAST_ZZZZ 106 #define INVALID_HOOKNUM -1001 107 108 BUILT_IN_COMMAND(oncmd); 109 BUILT_IN_COMMAND(shookcmd); 110 int do_hook (int, const char *, ...) __A(2); 111 void flush_on_hooks (void); 112 void unload_on_hooks (char *); 113 void save_hooks (FILE *, int); 114 void do_stack_on (int, char *); 115 int hook_find_free_serial (int, int, int); 116 117 #endif /* __hook_h_ */ 118