Mercurial > irccd
annotate man/libirccd-server.3 @ 1091:52be05336310
irccdctl: misc cleanups
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 21 Jul 2021 16:06:36 +0200 |
parents | f18988efb96b |
children | f06e9761cc90 |
rev | line source |
---|---|
1057
049b8fe77535
man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 .\" |
049b8fe77535
man: add libirccd-server.3
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 .\" Copyright (c) 2013-2021 David Demelier <markand@malikania.fr> |
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 |