annotate man/libirccd-event.3 @ 1137:c165e975f144

man: improvements
author David Demelier <markand@malikania.fr>
date Wed, 02 Feb 2022 21:26:12 +0100
parents f06e9761cc90
children 1845a0509a93
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1013
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .\"
1136
f06e9761cc90 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 1013
diff changeset
2 .\" Copyright (c) 2013-2022 David Demelier <markand@malikania.fr>
1013
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .\"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .\" Permission to use, copy, modify, and/or distribute this software for any
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .\" purpose with or without fee is hereby granted, provided that the above
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .\" copyright notice and this permission notice appear in all copies.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .\"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .\"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Dd @IRCCD_MAN_DATE@
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Dt LIBIRCCD-EVENT 3
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Os
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .\" NAME
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Sh NAME
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Nm libirccd-event
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Nd IRC events
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 .\" SYNOPSIS
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 .Sh SYNOPSIS
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 .In irccd/event.h
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .\" DESCRIPTION
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 .Sh DESCRIPTION
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 The event structure is defined as a generic IRC event that contains every
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 supported events into a anonymous union.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 It is passed through the plugin upon reception of a new IRC event. The user must
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 not modify the event.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 .Vt "struct irc_event"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 is declared as:
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 struct irc_event {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 enum irc_event_type type;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 struct irc_server *server;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 union {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 struct irc_event_invite invite;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 struct irc_event_join join;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 struct irc_event_kick kick;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 struct irc_event_message message;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 struct irc_event_mode mode;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 struct irc_event_names names;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 struct irc_event_nick nick;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 struct irc_event_notice notice;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 struct irc_event_part part;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 struct irc_event_topic topic;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 struct irc_event_whois whois;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 The fields of
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 .Vt "struct irc_event"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 are:
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 .Bl -tag -width server
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 .It Va type
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 The IRC event generated. Depending on this value you may access one of the event
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 in the anonymous union.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 .It Va server
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 The server object that generated the event.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 .El
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 .Vt "enum irc_event_type"
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 is declared as:
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 enum irc_event_type {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 IRC_EVENT_UNKNOWN, /* Unknown or private use. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 IRC_EVENT_COMMAND, /* Use irc_event_message. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 IRC_EVENT_CONNECT, /* No specific data. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 IRC_EVENT_DISCONNECT, /* No specific data. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 IRC_EVENT_INVITE, /* Use irc_event_invite. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 IRC_EVENT_JOIN, /* Use irc_event_join. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 IRC_EVENT_KICK, /* Use irc_event_kick. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 IRC_EVENT_ME, /* Use irc_event_message */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 IRC_EVENT_MESSAGE, /* Use irc_event_message. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 IRC_EVENT_MODE, /* Use irc_event_mode. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 IRC_EVENT_NAMES, /* Use irc_event_names. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 IRC_EVENT_NICK, /* Use irc_event_nick. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 IRC_EVENT_NOTICE, /* Use irc_event_notice. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 IRC_EVENT_PART, /* Use irc_event_part. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 IRC_EVENT_TOPIC, /* Use irc_event_topic. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 IRC_EVENT_WHOIS /* Use irc_event_whois. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 The following enumerators are available:
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 .Bl -tag -width IRC_EVENT_DISCONNECT
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 .It Dv IRC_EVENT_UNKNOWN
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 An IRC event was received but not usable for plugins. Plugins usually never get
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 called when this is generated.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 .It Dv IRC_EVENT_COMMAND
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 Specific plugin invocation. This is happening when a user invoke a plugin by
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 combining the server prefix and plugin identifier like
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 .Dq !plugin list .
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 .Va message
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 field may be used with this event.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 .It Dv IRC_EVENT_CONNECT
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 Generated when a server was successfully connected.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 .It Dv IRC_EVENT_DISCONNECT
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 When a server got disconnected.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 .It Dv IRC_EVENT_INVITE
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 Received upon reception of an invite. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 .Va invite
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 .It Dv IRC_EVENT_JOIN
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 When someone (including the daemon) joined a channel. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 .Va join
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 .It Dv IRC_EVENT_KICK
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 When someone was kicked from a channel. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 .Va kick
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 .It Dv IRC_EVENT_ME
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 Event about CTCP ACTION (also known as /me) received. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 .Va message
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 .It Dv IRC_EVENT_MESSAGE
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 Message event from a channel or a nickname. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 .Va message
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 .It Dv IRC_EVENT_MODE
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 When a channel mode or the daemon own modes were changed. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 .Va mode
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 .It Dv IRC_EVENT_NAMES
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 Upon reception of a channel name listing. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 .Va names
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 .It Dv IRC_EVENT_NICK
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 When someone (including the daemon) changed its nickname. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 .Va nick
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 .It Dv IRC_EVENT_NOTICE
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 Notice message received either from a channel or a direct nickname. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 .Va notice
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 .It Dv IRC_EVENT_PART
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 When someone (including the daemon) leaves a channel. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 .Va part
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 .It Dv IRC_EVENT_TOPIC
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
149 If a channel topic was changed. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 .Va topic
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 .It Dv IRC_EVENT_WHOIS
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 When a whois information about a user was received. This event is usually never
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 generated from the server itself but mostly from client requests. The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 .Va whois
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 field may be used.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 .El
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 Then, for each event that has arguments, the anonymous union contains one of the
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 following declared structures with their self explanatory commented fields:
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
161 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
162 struct irc_event_invite {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 struct irc_event_join {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 struct irc_event_kick {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 char *target;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 char *reason;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 struct irc_event_message {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 char *message;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 struct irc_event_mode {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 char *mode;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 char **args;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 struct irc_event_names {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 char *names; /* Space separated list of nicknames. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 struct irc_event_nick {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 char *nickname;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 struct irc_event_notice {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 char *notice;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 struct irc_event_part {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 char *reason;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
221 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 struct irc_event_topic {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 char *origin;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 char *channel;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 char *topic;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 .Bd -literal
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 struct irc_event_whois {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 char *nickname;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 char *username;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 char *realname;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 char *hostname;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 struct {
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
236 char *name; /* Channel name joined from this user. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
237 int modes; /* Bitmask of modes applied for the user. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 } *channels;
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 size_t channelsz; /* The number of items in channels. */
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 };
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 .Ed
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 .Pp
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
243 The
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 .Va modes
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
245 field contains a bit mask of modes because
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 .Xr irccd 1
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 separates the prefixes from channel and nicknames from
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 .Dq @+#staff
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
249 to
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
250 .Dq #staff
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
251 but to offer the possibility to know which modes are applied, they are marked as
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
252 bitmask of indices and stored in the server information. See the
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
253 .Xr libirccd-server 3
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
254 manual page for more information about how to use it.
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
255 .\" SEE ALSO
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 .Sh SEE ALSO
efeb73a9918b man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 .Xr libirccd 3
1137
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
258 .\" AUTHORS
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
259 .Sh AUTHORS
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
260 The
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
261 .Nm irccd
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
262 daemon was written by
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
263 .An David Demelier Aq Mt markand@malikania.fr .