annotate extern/libircclient/include/libirc_events.h @ 99:9a636d4ab8a2

Misc: get rid of old include style, #469
author David Demelier <markand@malikania.fr>
date Fri, 22 Apr 2016 18:43:12 +0200
parents 1158cffe5a5e
children 4777f7e18bf2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 /*
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
2 * Copyright (C) 2004-2012 George Yunaev gyunaev@ulduzsoft.com
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 * This library is free software; you can redistribute it and/or modify it
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 * under the terms of the GNU Lesser General Public License as published by
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 * the Free Software Foundation; either version 3 of the License, or (at your
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 * option) any later version.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 * This library is distributed in the hope that it will be useful, but WITHOUT
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 * License for more details.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
14
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
15
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 #ifndef INCLUDE_IRC_EVENTS_H
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 #define INCLUDE_IRC_EVENTS_H
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
18
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #ifndef IN_INCLUDE_LIBIRC_H
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #error This file should not be included directly, include just libircclient.h
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 #endif
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
23
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
24
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 * \fn typedef void (*irc_event_callback_t) (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 * \brief A most common event callback
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 * \param session the session, which generates an event
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 * \param event the text name of the event. Useful in case you use a single
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 * event handler for several events simultaneously.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 * \param origin the originator of the event. See the note below.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 * \param params a list of event params. Depending on the event nature, it
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 * could have zero or more params. The actual number of params
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 * is specified in count. None of the params can be NULL, but
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 * 'params' pointer itself could be NULL for some events.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 * \param count the total number of params supplied.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 * Every event generates a callback. This callback is generated by most events.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 * Depending on the event nature, it can provide zero or more params. For each
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 * event, the number of provided params is fixed, and their meaning is
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 * described.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 * Every event has origin, though the \a origin variable may be NULL, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 * means that event origin is unknown. The origin usually looks like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 * nick!host\@ircserver, i.e. like tim!home\@irc.krasnogorsk.ru. Such origins
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 * can not be used in IRC commands, and need to be stripped (i.e. host and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 * server part should be cut off) before using. This can be done either
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 * explicitly, by calling irc_target_get_nick(), or implicitly for all the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 * events - by setting the #LIBIRC_OPTION_STRIPNICKS option with irc_option_set().
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 * \ingroup events
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 typedef void (*irc_event_callback_t) (irc_session_t * session, const char * event, const char * origin, const char ** params, unsigned int count);
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
56
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
57
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 * \fn typedef void (*irc_eventcode_callback_t) (irc_session_t * session, unsigned int event, const char * origin, const char ** params, unsigned int count)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 * \brief A numeric event callback
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 * \param session the session, which generates an event
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 * \param event the numeric code of the event. Useful in case you use a
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 * single event handler for several events simultaneously.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 * \param origin the originator of the event. See the note below.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 * \param params a list of event params. Depending on the event nature, it
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 * could have zero or more params. The actual number of params
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 * is specified in count. None of the params can be NULL, but
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 * 'params' pointer itself could be NULL for some events.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 * \param count the total number of params supplied.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 * Most times in reply to your actions the IRC server generates numeric
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 * callbacks. Most of them are error codes, and some of them mark list start
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 * and list stop markers. Every code has its own set of params; for details
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 * you can either experiment, or read RFC 1459.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 * Every event has origin, though the \a origin variable may be NULL, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 * means that event origin is unknown. The origin usually looks like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 * nick!host\@ircserver, i.e. like tim!home\@irc.krasnogorsk.ru. Such origins
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 * can not be used in IRC commands, and need to be stripped (i.e. host and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 * server part should be cut off) before using. This can be done either
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 * explicitly, by calling irc_target_get_nick(), or implicitly for all the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 * events - by setting the #LIBIRC_OPTION_STRIPNICKS option with irc_option_set().
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 * \ingroup events
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 typedef void (*irc_eventcode_callback_t) (irc_session_t * session, unsigned int event, const char * origin, const char ** params, unsigned int count);
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
88
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
89
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 * \fn typedef void (*irc_event_dcc_chat_t) (irc_session_t * session, const char * nick, const char * addr, irc_dcc_t dccid)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 * \brief A remote DCC CHAT request callback
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 * \param session the session, which generates an event
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 * \param nick the person who requested DCC CHAT with you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 * \param addr the person's IP address in decimal-dot notation.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 * \param dccid an id associated with this request. Use it in calls to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 * irc_dcc_accept() or irc_dcc_decline().
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 * This callback is called when someone requests DCC CHAT with you. In respond
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 * you should call either irc_dcc_accept() to accept chat request, or
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 * irc_dcc_decline() to decline chat request.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 * \sa irc_dcc_accept or irc_dcc_decline
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 * \ingroup events
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 typedef void (*irc_event_dcc_chat_t) (irc_session_t * session, const char * nick, const char * addr, irc_dcc_t dccid);
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
108
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
109
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 * \fn typedef void (*irc_event_dcc_send_t) (irc_session_t * session, const char * nick, const char * addr, const char * filename, unsigned long size, irc_dcc_t dccid)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 * \brief A remote DCC CHAT request callback
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 * \param session the session, which generates an event
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 * \param nick the person who requested DCC CHAT with you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 * \param addr the person's IP address in decimal-dot notation.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 * \param filename the sent filename.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 * \param size the filename size.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 * \param dccid an id associated with this request. Use it in calls to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 * irc_dcc_accept() or irc_dcc_decline().
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 * This callback is called when someone wants to send a file to you using
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 * DCC SEND. As with chat, in respond you should call either irc_dcc_accept()
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 * to accept this request and receive the file, or irc_dcc_decline() to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 * decline this request.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 * \sa irc_dcc_accept or irc_dcc_decline
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 * \ingroup events
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 typedef void (*irc_event_dcc_send_t) (irc_session_t * session, const char * nick, const char * addr, const char * filename, unsigned long size, irc_dcc_t dccid);
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
131
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
132
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 /*! \brief Event callbacks structure.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 * All the communication with the IRC network is based on events. Generally
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 * speaking, event is anything generated by someone else in the network,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 * or by the IRC server itself. "Someone sends you a message", "Someone
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 * has joined the channel", "Someone has quits IRC" - all these messages
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 * are events.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 * Every event has its own event handler, which is called when the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 * appropriate event is received. You don't have to define all the event
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 * handlers; define only the handlers for the events you need to intercept.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 * Most event callbacks are the types of ::irc_event_callback_t. There are
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 * also events, which generate ::irc_eventcode_callback_t,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 * ::irc_event_dcc_chat_t and ::irc_event_dcc_send_t callbacks.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 * \ingroup events
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 typedef struct
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 {
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 * The "on_connect" event is triggered when the client successfully
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 * connects to the server, and could send commands to the server.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 * No extra params supplied; \a params is 0.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 irc_event_callback_t event_connect;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
159
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 * The "nick" event is triggered when the client receives a NICK message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 * meaning that someone (including you) on a channel with the client has
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 * changed their nickname.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 * \param origin the person, who changes the nick. Note that it can be you!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 * \param params[0] mandatory, contains the new nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 irc_event_callback_t event_nick;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
169
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 * The "quit" event is triggered upon receipt of a QUIT message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 * means that someone on a channel with the client has disconnected.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 * \param origin the person, who is disconnected
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 * \param params[0] optional, contains the reason message (user-specified).
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 irc_event_callback_t event_quit;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
178
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 * The "join" event is triggered upon receipt of a JOIN message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 * means that someone has entered a channel that the client is on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 * \param origin the person, who joins the channel. By comparing it with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 * your own nickname, you can check whether your JOIN
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 * command succeed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 irc_event_callback_t event_join;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
189
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 * The "part" event is triggered upon receipt of a PART message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 * means that someone has left a channel that the client is on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 * \param origin the person, who leaves the channel. By comparing it with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 * your own nickname, you can check whether your PART
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 * command succeed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 * \param params[1] optional, contains the reason message (user-defined).
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 irc_event_callback_t event_part;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
201
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 * The "mode" event is triggered upon receipt of a channel MODE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 * which means that someone on a channel with the client has changed the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 * channel's parameters.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 * \param origin the person, who changed the channel mode.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 * \param params[1] mandatory, contains the changed channel mode, like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 * '+t', '-i' and so on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 * \param params[2] optional, contains the mode argument (for example, a
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 * key for +k mode, or user who got the channel operator status for
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 * +o mode)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 irc_event_callback_t event_mode;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
216
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 * The "umode" event is triggered upon receipt of a user MODE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 * which means that your user mode has been changed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
221 * \param origin the person, who changed the channel mode.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 * \param params[0] mandatory, contains the user changed mode, like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 * '+t', '-i' and so on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 irc_event_callback_t event_umode;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
226
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 * The "topic" event is triggered upon receipt of a TOPIC message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 * means that someone on a channel with the client has changed the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 * channel's topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 * \param origin the person, who changes the channel topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 * \param params[1] optional, contains the new topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
236 irc_event_callback_t event_topic;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
237
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 * The "kick" event is triggered upon receipt of a KICK message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 * means that someone on a channel with the client (or possibly the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 * client itself!) has been forcibly ejected.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
243 * \param origin the person, who kicked the poor.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
245 * \param params[0] optional, contains the nick of kicked person.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 * \param params[1] optional, contains the kick text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 irc_event_callback_t event_kick;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
249
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
250 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
251 * The "channel" event is triggered upon receipt of a PRIVMSG message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
252 * to an entire channel, which means that someone on a channel with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
253 * the client has said something aloud. Your own messages don't trigger
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
254 * PRIVMSG event.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
255 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
259 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
260 irc_event_callback_t event_channel;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
261
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
263 * The "privmsg" event is triggered upon receipt of a PRIVMSG message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
264 * which is addressed to one or more clients, which means that someone
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 * is sending the client a private message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
266 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 * \param params[0] mandatory, contains your nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
269 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
270 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
271 irc_event_callback_t event_privmsg;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
272
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
273 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
274 * The "notice" event is triggered upon receipt of a NOTICE message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
275 * which means that someone has sent the client a public or private
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 * notice. According to RFC 1459, the only difference between NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
277 * and PRIVMSG is that you should NEVER automatically reply to NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
278 * messages. Unfortunately, this rule is frequently violated by IRC
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 * servers itself - for example, NICKSERV messages require reply, and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
280 * are NOTICEs.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
281 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
283 * \param params[0] mandatory, contains the target nick name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
285 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 irc_event_callback_t event_notice;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
287
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 * The "channel_notice" event is triggered upon receipt of a NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
290 * message which means that someone has sent the client a public
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 * notice. According to RFC 1459, the only difference between NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
292 * and PRIVMSG is that you should NEVER automatically reply to NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
293 * messages. Unfortunately, this rule is frequently violated by IRC
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
294 * servers itself - for example, NICKSERV messages require reply, and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
295 * are NOTICEs.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
296 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
297 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
298 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
299 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
300 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
301 irc_event_callback_t event_channel_notice;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
302
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
303 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
304 * The "invite" event is triggered upon receipt of an INVITE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
305 * which means that someone is permitting the client's entry into a +i
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
306 * channel.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
307 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
308 * \param origin the person, who INVITEs you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
309 * \param params[0] mandatory, contains your nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
310 * \param params[1] mandatory, contains the channel name you're invited into.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
311 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
312 * \sa irc_cmd_invite irc_cmd_chanmode_invite
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
313 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
314 irc_event_callback_t event_invite;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
315
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
316 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
317 * The "ctcp" event is triggered when the client receives the CTCP
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
318 * request. By default, the built-in CTCP request handler is used. The
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
319 * build-in handler automatically replies on most CTCP messages, so you
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
320 * will rarely need to override it.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
321 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
322 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
323 * \param params[0] mandatory, the complete CTCP message, including its
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 * arguments.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
325 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
326 * Mirc generates PING, FINGER, VERSION, TIME and ACTION messages,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
327 * check the source code of \c libirc_event_ctcp_internal function to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
328 * see how to write your own CTCP request handler. Also you may find
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
329 * useful this question in FAQ: \ref faq4
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
330 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
331 irc_event_callback_t event_ctcp_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
332
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
333 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
334 * The "ctcp" event is triggered when the client receives the CTCP reply.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
335 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
336 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
337 * \param params[0] mandatory, the CTCP message itself with its arguments.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
338 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
339 irc_event_callback_t event_ctcp_rep;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
340
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
341 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
342 * The "action" event is triggered when the client receives the CTCP
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
343 * ACTION message. These messages usually looks like:\n
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
344 * \code
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
345 * [23:32:55] * Tim gonna sleep.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
346 * \endcode
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
347 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
348 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
349 * \param params[0] mandatory, the ACTION message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
350 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
351 irc_event_callback_t event_ctcp_action;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
352
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
353 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
354 * The "unknown" event is triggered upon receipt of any number of
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
355 * unclassifiable miscellaneous messages, which aren't handled by the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
356 * library.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
357 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
358 irc_event_callback_t event_unknown;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
359
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
360 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
361 * The "numeric" event is triggered upon receipt of any numeric response
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
362 * from the server. There is a lot of such responses, see the full list
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
363 * here: \ref rfcnumbers.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
364 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
365 * See the params in ::irc_eventcode_callback_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
366 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
367 irc_eventcode_callback_t event_numeric;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
368
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
369 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
370 * The "dcc chat" event is triggered when someone requests a DCC CHAT from
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
371 * you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
372 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
373 * See the params in ::irc_event_dcc_chat_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
374 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
375 irc_event_dcc_chat_t event_dcc_chat_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
376
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
377 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
378 * The "dcc chat" event is triggered when someone wants to send a file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
379 * to you via DCC SEND request.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
380 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
381 * See the params in ::irc_event_dcc_send_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
382 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
383 irc_event_dcc_send_t event_dcc_send_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
384
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
385
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
386 } irc_callbacks_t;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
387
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
388
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
389 #endif /* INCLUDE_IRC_EVENTS_H */