Mercurial > irccd
annotate man/libirccd.3 @ 1089:16e66403ea66
plugins: substitute IRCCD_VERSION in Javascript plugins
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 21 Jul 2021 15:33:17 +0200 |
parents | f7f73da81a5f |
children | ae8b91ec4e4a |
rev | line source |
---|---|
1013
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
1 .\" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
2 .\" Copyright (c) 2013-2021 David Demelier <markand@malikania.fr> |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
3 .\" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
4 .\" Permission to use, copy, modify, and/or distribute this software for any |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
5 .\" purpose with or without fee is hereby granted, provided that the above |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
6 .\" copyright notice and this permission notice appear in all copies. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
7 .\" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
8 .\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
9 .\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
10 .\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
11 .\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
12 .\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
13 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
14 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
15 .\" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
16 .Dd @IRCCD_MAN_DATE@ |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
17 .Dt LIBIRCCD 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
18 .Os |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
19 .\" NAME |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
20 .Sh NAME |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
21 .Nm libirccd |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 .Nd irccd C interface |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 .\" SYNOPSIS |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 .Sh SYNOPSIS |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 .Vt const char *<prefix>_author; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 .Vt const char *<prefix>_description; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 .Vt const char *<prefix>_version; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 .Vt const char *<prefix>_license; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 .Fn <prefix>_set_option "const char *key, const char *value" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 .Fn <prefix>_set_template "const char *key, const char *value" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 .Fn <prefix>_set_path "const char *key, const char *value" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 .Ft const char * |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 .Fn <prefix>_get_option "const char *key" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 .Ft const char * |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 .Fn <prefix>_get_template "const char *key" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 .Ft const char * |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 .Fn <prefix>_get_path "const char *key" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 .Ft const char ** |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 .Fn <prefix>_get_options "void" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 .Ft const char ** |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 .Fn <prefix>_get_templates "void" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 .Ft const char ** |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 .Fn <prefix>_get_paths "void" |
1064
f7f73da81a5f
irccd: don't added plugins that fails to load
David Demelier <markand@malikania.fr>
parents:
1013
diff
changeset
|
47 .Ft int |
1013
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 .Fn <prefix>_load "void" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 .Fn <prefix>_reload "void" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 .Fn <prefix>_unload "void" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 .Fn <prefix>_event "const struct irc_event *ev" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 .\" DESCRIPTION |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 .Sh DESCRIPTION |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 .Nm |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 library is a set of functions available from the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 .Xr irccd 1 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 daemon when writing native C plugins. It isn't shipped as a library because it |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 opens plugins dynamically and exports its own set of symbols through it. Plugins |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 don't need any kind of link when built. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 The API offers various utilities to control the daemon by inspecting servers, |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 rules, plugins or hooks. It also offers various miscellaneous utilities along |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 with some compatibility shims. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 This documentation only shows a quick overview of what is available, |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 documentation of very modules is done through the set of |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 .Xr libirccd-MODULE-NAME 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 manual pages. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 For |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 .Dq namespace |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 issue, every symbol or macros are prefixed by irc_ or IRC_. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 An example of plugin can be found at |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 .Pa @CMAKE_INSTALL_FULL_DATADIR@/irccd/sample-plugin.c |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 .\" PLUGIN INTERFACE |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 .Sh PLUGIN INTERFACE |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 To be opened by |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 .Xr irccd 1 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 the plugin has to match a specific ABI. Several variables and functions should |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 be exported using a specific prefix and variable names. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
86 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
87 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
88 .Em <prefix> |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
89 as shown in the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
90 .Xr SYNOPSIS |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
91 section is computed using the plugin base file name and translating every non C |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
92 character to an |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
93 .Dq _ . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
94 For example, if the plugin is named |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
95 .Pa irc-notify.so |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
96 then the prefix will be |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
97 .Em irc_notify |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
98 and subsequent function to implement should be named |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
99 .Fn irc_notify_event , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
100 .Fn irc_notify_get_option |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
101 and so on. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
102 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
103 Every variable and function are completely optional. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
104 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
105 .\" Variables |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
106 .Ss Variables |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
107 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
108 .Va <prefix>_author , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
109 .Va <prefix>_description , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
110 .Va <prefix>_version , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
111 and |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
112 .Va <prefix>_license |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
113 variables can be declared as plugin metadata to inform about the plugin author, |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
114 a short description, its version and the license respectively. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
115 .\" Functions |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
116 .Ss Functions |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
117 The following functions can be implemented in the plugin and called from |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
118 .Xr irccd 1 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
119 upon certain circumstances. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
120 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
121 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
122 .Fn <prefix>_set_option , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
123 .Fn <prefix>_set_template |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
124 and |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
125 .Fn <prefix>_set_path |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
126 are called when the user wants to change the property |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
127 .Fa key |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
128 to the new |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
129 .Fa value . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
130 If the key isn't supported by the plugin, no action should be taken. They alter |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
131 the plugin options, user templates and predefined paths respectively. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
132 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
133 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
134 .Fn <prefix>_get_option , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
135 .Fn <prefix>_get_template |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
136 and |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
137 .Fn <prefix>_get_path |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
138 are the exact opposite of their |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
139 .Em set_* |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
140 counterparts, they should return the value associated with the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
141 .Fa key |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
142 argument. If the plugin does not support the given |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
143 .Fa key |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
144 it should return NULL to indicate it. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
145 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
146 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
147 .Fn <prefix>_get_options , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
148 .Fn <prefix>_get_templates |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
149 and |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
150 .Fn <prefix>_get_paths |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
151 should return a NULL terminated array of strings that the plugin supports for |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
152 options, templates and paths respectively. The returned array isn't free'd so |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
153 the user may return a static array for convenience. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
154 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
155 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
156 .Fn <prefix>_load |
1064
f7f73da81a5f
irccd: don't added plugins that fails to load
David Demelier <markand@malikania.fr>
parents:
1013
diff
changeset
|
157 function is called when the plugin is being loaded before being added to the |
f7f73da81a5f
irccd: don't added plugins that fails to load
David Demelier <markand@malikania.fr>
parents:
1013
diff
changeset
|
158 daemon. If the function returns non-zero it is treated as an error an not |
f7f73da81a5f
irccd: don't added plugins that fails to load
David Demelier <markand@malikania.fr>
parents:
1013
diff
changeset
|
159 loaded. |
1013
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
162 .Fn <prefix>_reload |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 is called when the user requests to reload the plugin. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
166 .Fn <prefix>_unload |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 is called when the plugin is about to be removed. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
170 .Fn <prefix>_event |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 is called upon reception of a new IRC server message. See the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
172 .Xr libirccd-event 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 module about how to use the argument |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 .Fa ev . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 .\" MODULES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 .Sh MODULES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 The following APIs are available |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 .Bl -tag |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
179 .It Xr libirccd-server 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
180 Manipulate servers. This module is probably the one you will use the most while |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 writing plugins. It lets you send messages through an IRC server. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 .It Xr libirccd-channel 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 Channel information. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
184 .It Xr libirccd-compat 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 Compatibility layer offered for various BSD and POSIX extensions if not |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 available on your system. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 .It Xr libirccd-event 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
188 Information about an IRC event received. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 .It Xr libirccd-hook 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 Create new hooks. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
191 .It Xr libirccd-irccd 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 General functions to manipulate the running daemon. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
193 .It Xr libirccd-log 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 Functions for logging messages through the configured logger adapter. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 .It Xr libirccd-plugin 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 Create new plugins. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 .It Xr libirccd-rule 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 Create or match rules. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
199 .It Xr libirccd-subst 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 The substitution mechanism to create user plugin templates. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 .It Xr libirccd-util 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 Various utilities. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
203 .El |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 .\" SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 .Sh SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 .Xr libirccd-channel 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 .Xr libirccd-compat 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 .Xr libirccd-event 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 .Xr libirccd-hook 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 .Xr libirccd-irccd 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 .Xr libirccd-log 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 .Xr libirccd-plugin 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 .Xr libirccd-rule 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
214 .Xr libirccd-server 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
215 .Xr libirccd-util 3 |