annotate man/libirccd-server.3 @ 1153:4d6fe5535657 release-4.0

misc: update CHANGES.md
author David Demelier <markand@malikania.fr>
date Sun, 06 Feb 2022 16:04:15 +0100
parents c165e975f144
children 1845a0509a93
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1057
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
1 .\"
1136
f06e9761cc90 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 1073
diff changeset
2 .\" Copyright (c) 2013-2022 David Demelier <markand@malikania.fr>
1057
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
3 .\"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
4 .\" Permission to use, copy, modify, and/or distribute this software for any
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
5 .\" purpose with or without fee is hereby granted, provided that the above
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
6 .\" copyright notice and this permission notice appear in all copies.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
7 .\"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
15 .\"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
16 .Dd @IRCCD_MAN_DATE@
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
17 .Dt LIBIRCCD-SERVER 3
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
18 .Os
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 .\" NAME
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 .Sh NAME
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 .Nm libirccd-server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
22 .Nd IRC server functions
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
23 .\" SYNOPSIS
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
24 .Sh SYNOPSIS
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 .In irccd/server.h
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
26 .Ft "struct irc_server *"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 .Fo irc_server_new
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
28 .Fa "const char *id"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
29 .Fa "const char *nickname"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
30 .Fa "const char *username"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
31 .Fa "const char *realname"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
32 .Fa "const char *hostname"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
33 .Fa "unsigned int port"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
34 .Fc
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
35 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 .Fn irc_server_connect "struct irc_server *s"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 .Fn irc_server_disconnect "struct irc_server *s"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
39 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 .Fn irc_server_reconnect "struct irc_server *s"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 .Fn irc_server_prepare "const struct irc_server *, struct pollfd *fd"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
43 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
44 .Fn irc_server_flush "struct irc_server *s, const struct pollfd *fd"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
45 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
46 .Fn irc_server_poll "struct irc_server *s, struct irc_event *ev"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
47 .Ft struct irc_channel *
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
48 .Fn irc_server_find "struct irc_server *s, const char *channel"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
49 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
50 .Fn irc_server_send "struct irc_server *s, const char *fmt, ..."
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
51 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
52 .Fn irc_server_invite "struct irc_server *s, const char *channel, const char *target"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
53 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
54 .Fn irc_server_join "struct irc_server *s, const char *channel, const char *pass"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
55 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
56 .Fn irc_server_kick "struct irc_server *s, const char *channel, const char *target, const char *reason"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
57 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
58 .Fn irc_server_part "struct irc_server *s, const char *channel, const char *reason"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
59 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
60 .Fn irc_server_topic "struct irc_server *s, const char *channel, const char *topic"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
61 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
62 .Fn irc_server_message "struct irc_server *s, const char *channel, const char *message"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
63 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
64 .Fn irc_server_me "struct irc_server *s, const char *channel, const char *message"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
65 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
66 .Fn irc_server_mode "struct irc_server *s, const char *channel, const char *mode, const char *args"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
67 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 .Fn irc_server_names "struct irc_server *s, const char *channel"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
69 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
70 .Fn irc_server_nick "struct irc_server *s, const char *nick"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
71 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
72 .Fn irc_server_notice "struct irc_server *s, const char *channel, const char *message"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
73 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
74 .Fn irc_server_whois "struct irc_server *s, const char *nickname"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 .Ft int
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
76 .Fn irc_server_strip "const struct irc_server *s, const char **string"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
77 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
78 .Fn irc_server_split "const char *string, struct irc_server_user *ident"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
79 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
80 .Fn irc_server_incref "struct irc_server *s"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
81 .Ft void
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
82 .Fn irc_server_decref "struct irc_server *s"
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
83 .\" DESCRIPTION
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
84 .Sh DESCRIPTION
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
85 This API provides functions to operate with an IRC server. When servers are
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
86 managed through the irccd instance they are automatically connected, reconnected
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
87 and removed when needed.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
88 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
89 It also have a large set of functions to send messages, change channel topics,
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
90 join channels and such.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
91 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
92 A server by itself is asynchronous, any function in the API will never block
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
93 because it is queued into local buffers. To accomplish this feature the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
94 relies on the user to use
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
95 .Xr poll 2
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
96 and indicate the server that a network event happened. This is normally never
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
97 needed from the user side as long as the server is managed through irccd. See
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
98 .Xr libirccd-irccd 3
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
99 for more details.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
100 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
101 The header exposes the following structures:
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
102 .Bd -literal
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
103 struct irc_server_user {
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
104 char nickname[IRC_NICKNAME_LEN]; /* IRC nickname */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
105 char username[IRC_USERNAME_LEN]; /* IRC username */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
106 char host[IRC_HOST_LEN]; /* hostname part */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
107 };
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
108 .Ed
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
109 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
110 This structure describes an IRC user.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
111 .Bd -literal
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
112 struct irc_server_ident {
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
113 char nickname[IRC_NICKNAME_LEN]; /* desired nickname */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
114 char password[IRC_PASSWORD_LEN]; /* server password */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
115 char ctcpversion[IRC_CTCPVERSION_LEN]; /* CTCP VERSION to reply */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
116 };
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
117 .Ed
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
118 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
119 This structure holds the informations about the credentials for connecting to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
120 the IRC server.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
121 .Bd -literal
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
122 struct irc_server_params {
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
123 char chantypes[IRC_CHANTYPES_LEN]; /* channel types prefixes */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
124 char charset[IRC_CHARSET_LEN]; /* charset recommended */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
125 char casemapping[IRC_CASEMAPPING_LEN]; /* case mapping */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
126 unsigned int chanlen; /* maximum channel length */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
127 unsigned int nicklen; /* maximum nickname length */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
128 unsigned int topiclen; /* maximum topic length */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
129 unsigned int awaylen; /* maximum away message length */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
130 unsigned int kicklen; /* maximum kick message length */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
131 struct {
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
132 char mode; /* mode (e.g. ov). */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
133 char symbol; /* symbol used (e.g. @+). */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
134 } prefixes[IRC_USERMODES_LEN];
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
135 };
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
136 .Ed
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
137 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
138 This structure holds readonly information about the server. It is filled once a
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
139 server is connected and updated depending on IRC event. User modification on
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
140 this structure has no effects.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
141 .Bd -literal
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
142 struct irc_server {
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
143 char name[IRC_ID_LEN]; /* server identifier */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
144 char prefix[IRC_PREFIX_LEN]; /* prefix for plugin commands */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
145 struct irc_server_ident ident; /* identity to use */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
146 struct irc_server_params params; /* server parameters */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
147 enum irc_server_flags flags; /* optional user flags */
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
148 struct irc_channel_list channels; /* list of channels */
1073
f18988efb96b man: update documentation
David Demelier <markand@malikania.fr>
parents: 1057
diff changeset
149 struct irc_server *next; /* next server */
1057
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
150 };
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
151 .Ed
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
152 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
153 This structure is a connection to the IRC server. It is implemented as a state
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
154 machine and requires read/write steps from the main loop. They are usually
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
155 managed directly from the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
156 .Xr irccd 1
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
157 daemon and should not require user actions.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
158 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
159 .Vt struct irc_server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
160 is implemented as linked list through the
1073
f18988efb96b man: update documentation
David Demelier <markand@malikania.fr>
parents: 1057
diff changeset
161 .Va next
f18988efb96b man: update documentation
David Demelier <markand@malikania.fr>
parents: 1057
diff changeset
162 field.
1057
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
163 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
164 Note: few other private fields are not listed as they must not be used by the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
165 user.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
166 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
167 .\" irc_server_new
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
168 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
169 .Fn irc_server_new
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
170 function heap allocates a new server object in disconnected state. The argument
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
171 .Fa id
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
172 must be a valid unique identifier. Arguments
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
173 .Fa nickname , username , realname
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
174 refer to the IRC identity. The argument
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
175 .Fa hostname
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
176 and
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
177 .Fa port
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
178 specifies the IRC server address (or hostname) and its port. This function never
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
179 return NULL.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
180 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
181 .\" irc_server_connect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
182 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
183 .Fn irc_server_connect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
184 function starts connecting the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
185 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
186 Connection does not happen immediately because the server is setup in
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
187 non-blocking mode, as such several steps are required and are performed with the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
188 help of the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
189 .Fn irc_server_prepare
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
190 and
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
191 .Fn irc_server_flush .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
192 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
193 .\" irc_server_disconnect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
194 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
195 .Fn irc_server_disconnect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
196 function immediately shuts down the connection to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
197 .Ar s
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
198 server by closing the socket. It is possible to reconnect again using
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
199 .Fn irc_server_connect .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
200 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
201 .\" irc_server_reconnect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
202 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
203 .Fn irc_server_reconnect
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
204 function closes the connection on the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
205 .Ar s
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
206 and reconnect immediately.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
207 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
208 .\" irc_server_prepare
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
209 .\" irc_server_flush
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
210 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
211 .Fn irc_server_prepare
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
212 function fills the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
213 .Xr poll 2
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
214 structure specified by
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
215 .Fa fd
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
216 about events that the server requires depending on read/write conditions from
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
217 the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
218 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
219 Then, the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
220 .Fn irc_server_flush
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
221 function performs any pending read/write operation depending on the result of the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
222 .Fa fd
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
223 structure which should have been listened with
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
224 .Xr poll 2
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
225 from user side. Both functions are usually never required to be called manually
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
226 as long as the servers are put into the irccd instance. See
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
227 .Xr libirccd-irccd 3
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
228 for more details.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
229 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
230 .\" irc_server_poll
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
231 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
232 .Fn irc_server_poll
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
233 function seeks for any pending IRC event in server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
234 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
235 It should be called periodically in the main loop to remove pending events. This
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
236 function is usually never required to be called manually from the user.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
237 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
238 .\" irc_server_send
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
239 The function
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
240 .Fn irc_server_send
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
241 sends a raw unparsed message to the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
242 .Fa s
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
243 with a
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
244 .Xr printf 3
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
245 format like. The CRLF delimiter is automatically appended.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
246 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
247 .\" irc_server_invite
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
248 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
249 .Fn irc_server_invite
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
250 function invites
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
251 .Fa target
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
252 to the
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
253 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
254 on the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
255 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
256 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
257 .\" irc_server_join
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
258 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
259 .Fn irc_server_join
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
260 creates a request to join
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
261 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
262 using an optional
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
263 .Fa pass
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
264 if not NULL on the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
265 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
266 If the server is not yet connected, it is appended to the list of channels to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
267 join and they will be joined once connected.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
268 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
269 .\" irc_server_kick
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
270 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
271 .Fn irc_server_kick
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
272 function kicks
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
273 .Fa target
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
274 from channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
275 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
276 using a specified
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
277 .Fa reason
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
278 if not NULL from the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
279 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
280 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
281 .\" irc_server_part
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
282 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
283 .Fn irc_server_part
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
284 leaves
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
285 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
286 using a specified
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
287 .Fa reason
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
288 if not NULL from the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
289 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
290 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
291 .\" irc_server_topic
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
292 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
293 .Fn irc_server_topic
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
294 sets
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
295 .Fa topic
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
296 into the specified
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
297 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
298 from the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
299 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
300 .\" irc_server_message
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
301 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
302 .Fn irc_server_message
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
303 sends a private
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
304 .Fa message
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
305 to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
306 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
307 into the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
308 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
309 The argument
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
310 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
311 can be a nickname as well.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
312 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
313 .\" irc_server_me
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
314 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
315 .Fn irc_server_me
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
316 sends an action emote
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
317 .Fa message
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
318 to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
319 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
320 into the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
321 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
322 The argument
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
323 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
324 can be a nickname as well. This is also known as /me in popular IRC clients.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
325 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
326 .\" irc_server_mode
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
327 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
328 .Fn irc_server_mode
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
329 function sets
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
330 .Fa mode
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
331 and its
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
332 .Fa args
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
333 into the specified
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
334 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
335 on the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
336 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
337 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
338 .\" irc_server_names
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
339 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
340 .Fn irc_server_names
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
341 requests a name listing on the specified
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
342 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
343 from the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
344 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
345 Names are incoming asynchronously using a names event. See
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
346 .Xr libirccd-event 3
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
347 for more details.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
348 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
349 .\" irc_server_nick
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
350 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
351 .Fn irc_server_nick
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
352 change the bots nickname to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
353 .Fa nick
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
354 on the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
355 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
356 If the server is not already connected this operation is immediate, otherwise a
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
357 request is sent and the nick change can fail (e.g. if already used).
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
358 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
359 .\" irc_server_notice
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
360 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
361 .Fn irc_server_notice
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
362 sends a private
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
363 .Fa notice
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
364 to
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
365 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
366 into the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
367 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
368 The argument
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
369 .Fa channel
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
370 can be a nickname as well.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
371 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
372 .\" irc_server_whois
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
373 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
374 .Fn irc_server_whois
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
375 sends an asynchronous request to obtain whois information about
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
376 .Fa nickname
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
377 from the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
378 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
379 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
380 .\" irc_server_strip
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
381 The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
382 .Fn irc_server_strip
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
383 function can be used to extract user modes from
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
384 .Fa string
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
385 and return modes that is has (e.g. voice, op, halfop). The
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
386 .Fa string
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
387 pointer will be incremented for each prefix found at the start of the string.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
388 Example: if a string
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
389 .Dq @+francis
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
390 is passed, the function will increase the pointer to a result of
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
391 .Dq francis
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
392 and both voice and op will be returned as OR'ed flags. The server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
393 .Fa s
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
394 has to be specified because some IRC server may use different symbol prefixes
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
395 and those are detected at connection time.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
396 .Pp
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
397 .\" irc_server_incref
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
398 .\" irc_server_decref
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
399 Both
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
400 .Fn irc_server_incref
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
401 and
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
402 .Fn irc_server_decref
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
403 increment or decrement respectively the usage count of the server
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
404 .Fa s .
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
405 It allows the storage of servers inside plugins so they still refer to a valid
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
406 memory area even if user decide to disconnect some servers.
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
407 .\" SEE ALSO
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
408 .Sh SEE ALSO
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
409 .Xr libirccd 3 ,
049b8fe77535 man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff changeset
410 .Xr libirccd-irccd 3
1137
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
411 .\" AUTHORS
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
412 .Sh AUTHORS
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
413 The
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
414 .Nm irccd
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
415 daemon was written by
c165e975f144 man: improvements
David Demelier <markand@malikania.fr>
parents: 1136
diff changeset
416 .An David Demelier Aq Mt markand@malikania.fr .