annotate extern/libircclient/include/libirc_events.h @ 189:bb70bb9e41eb

Irccd: use native Duktape API
author David Demelier <markand@malikania.fr>
date Fri, 03 Jun 2016 13:28:10 +0200
parents 4777f7e18bf2
children
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 /*!
102
4777f7e18bf2 Irccd: several improvements in servers, #385
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
161 * The "ping" event is triggered when the client receives PING requests.
4777f7e18bf2 Irccd: several improvements in servers, #385
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
162 */
4777f7e18bf2 Irccd: several improvements in servers, #385
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
163 irc_event_callback_t event_ping;
4777f7e18bf2 Irccd: several improvements in servers, #385
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
164
4777f7e18bf2 Irccd: several improvements in servers, #385
David Demelier <markand@malikania.fr>
parents: 0
diff changeset
165 /*!
0
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 * The "nick" event is triggered when the client receives a NICK message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 * meaning that someone (including you) on a channel with the client has
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 * changed their nickname.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 * \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
171 * \param params[0] mandatory, contains the new nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 irc_event_callback_t event_nick;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
174
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 * The "quit" event is triggered upon receipt of a QUIT message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 * means that someone on a channel with the client has disconnected.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 * \param origin the person, who is disconnected
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 * \param params[0] optional, contains the reason message (user-specified).
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 irc_event_callback_t event_quit;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
183
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 * The "join" event is triggered upon receipt of a JOIN message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 * means that someone has entered a channel that the client is on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 * \param origin the person, who joins the channel. By comparing it with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 * your own nickname, you can check whether your JOIN
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 * command succeed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 irc_event_callback_t event_join;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
194
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 * The "part" event is triggered upon receipt of a PART message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 * means that someone has left a channel that the client is on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 * \param origin the person, who leaves the channel. By comparing it with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 * your own nickname, you can check whether your PART
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 * command succeed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 * \param params[1] optional, contains the reason message (user-defined).
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 irc_event_callback_t event_part;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
206
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 * The "mode" event is triggered upon receipt of a channel MODE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 * which means that someone on a channel with the client has changed the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 * channel's parameters.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 * \param origin the person, who changed the channel mode.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 * \param params[1] mandatory, contains the changed channel mode, like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 * '+t', '-i' and so on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 * \param params[2] optional, contains the mode argument (for example, a
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 * key for +k mode, or user who got the channel operator status for
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 * +o mode)
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 irc_event_callback_t event_mode;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
221
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 * The "umode" event is triggered upon receipt of a user MODE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 * which means that your user mode has been changed.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 * \param origin the person, who changed the channel mode.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 * \param params[0] mandatory, contains the user changed mode, like
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 * '+t', '-i' and so on.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 irc_event_callback_t event_umode;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
231
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 * The "topic" event is triggered upon receipt of a TOPIC message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 * means that someone on a channel with the client has changed the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 * channel's topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
236 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
237 * \param origin the person, who changes the channel topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 * \param params[1] optional, contains the new topic.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 irc_event_callback_t event_topic;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
242
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
243 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 * The "kick" event is triggered upon receipt of a KICK message, which
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
245 * means that someone on a channel with the client (or possibly the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 * client itself!) has been forcibly ejected.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 * \param origin the person, who kicked the poor.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
249 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
250 * \param params[0] optional, contains the nick of kicked person.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
251 * \param params[1] optional, contains the kick text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
252 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
253 irc_event_callback_t event_kick;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
254
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
255 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 * The "channel" event is triggered upon receipt of a PRIVMSG message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 * to an entire channel, which means that someone on a channel with
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 * the client has said something aloud. Your own messages don't trigger
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
259 * PRIVMSG event.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
260 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
261 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
263 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
264 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 irc_event_callback_t event_channel;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
266
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 * The "privmsg" event is triggered upon receipt of a PRIVMSG message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
269 * which is addressed to one or more clients, which means that someone
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
270 * is sending the client a private message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
271 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
272 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
273 * \param params[0] mandatory, contains your nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
274 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
275 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 irc_event_callback_t event_privmsg;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
277
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
278 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 * The "notice" event is triggered upon receipt of a NOTICE message
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
280 * which means that someone has sent the client a public or private
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
281 * notice. According to RFC 1459, the only difference between NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 * and PRIVMSG is that you should NEVER automatically reply to NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
283 * messages. Unfortunately, this rule is frequently violated by IRC
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 * servers itself - for example, NICKSERV messages require reply, and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
285 * are NOTICEs.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
287 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 * \param params[0] mandatory, contains the target nick name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
290 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 irc_event_callback_t event_notice;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
292
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
293 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
294 * The "channel_notice" event is triggered upon receipt of a NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
295 * message which means that someone has sent the client a public
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
296 * notice. According to RFC 1459, the only difference between NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
297 * and PRIVMSG is that you should NEVER automatically reply to NOTICE
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
298 * messages. Unfortunately, this rule is frequently violated by IRC
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
299 * servers itself - for example, NICKSERV messages require reply, and
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
300 * are NOTICEs.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
301 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
302 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
303 * \param params[0] mandatory, contains the channel name.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
304 * \param params[1] optional, contains the message text
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
305 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
306 irc_event_callback_t event_channel_notice;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
307
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
308 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
309 * The "invite" event is triggered upon receipt of an INVITE message,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
310 * which means that someone is permitting the client's entry into a +i
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
311 * channel.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
312 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
313 * \param origin the person, who INVITEs you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
314 * \param params[0] mandatory, contains your nick.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
315 * \param params[1] mandatory, contains the channel name you're invited into.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
316 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
317 * \sa irc_cmd_invite irc_cmd_chanmode_invite
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
318 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
319 irc_event_callback_t event_invite;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
320
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
321 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
322 * The "ctcp" event is triggered when the client receives the CTCP
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
323 * request. By default, the built-in CTCP request handler is used. The
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 * build-in handler automatically replies on most CTCP messages, so you
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
325 * will rarely need to override it.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
326 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
327 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
328 * \param params[0] mandatory, the complete CTCP message, including its
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
329 * arguments.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
330 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
331 * Mirc generates PING, FINGER, VERSION, TIME and ACTION messages,
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
332 * check the source code of \c libirc_event_ctcp_internal function to
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
333 * see how to write your own CTCP request handler. Also you may find
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
334 * useful this question in FAQ: \ref faq4
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
335 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
336 irc_event_callback_t event_ctcp_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
337
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
338 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
339 * The "ctcp" event is triggered when the client receives the CTCP reply.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
340 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
341 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
342 * \param params[0] mandatory, the CTCP message itself with its arguments.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
343 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
344 irc_event_callback_t event_ctcp_rep;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
345
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
346 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
347 * The "action" event is triggered when the client receives the CTCP
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
348 * ACTION message. These messages usually looks like:\n
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
349 * \code
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
350 * [23:32:55] * Tim gonna sleep.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
351 * \endcode
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
352 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
353 * \param origin the person, who generates the message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
354 * \param params[0] mandatory, the ACTION message.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
355 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
356 irc_event_callback_t event_ctcp_action;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
357
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
358 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
359 * The "unknown" event is triggered upon receipt of any number of
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
360 * unclassifiable miscellaneous messages, which aren't handled by the
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
361 * library.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
362 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
363 irc_event_callback_t event_unknown;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
364
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
365 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
366 * The "numeric" event is triggered upon receipt of any numeric response
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
367 * 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
368 * here: \ref rfcnumbers.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
369 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
370 * See the params in ::irc_eventcode_callback_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
371 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
372 irc_eventcode_callback_t event_numeric;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
373
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
374 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
375 * The "dcc chat" event is triggered when someone requests a DCC CHAT from
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
376 * you.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
377 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
378 * See the params in ::irc_event_dcc_chat_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
379 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
380 irc_event_dcc_chat_t event_dcc_chat_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
381
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
382 /*!
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
383 * The "dcc chat" event is triggered when someone wants to send a file
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
384 * to you via DCC SEND request.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
385 *
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
386 * See the params in ::irc_event_dcc_send_t specification.
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
387 */
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
388 irc_event_dcc_send_t event_dcc_send_req;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
389
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
390
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
391 } irc_callbacks_t;
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
392
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
393
1158cffe5a5e Initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
394 #endif /* INCLUDE_IRC_EVENTS_H */