Mercurial > irccd
annotate man/libirccd.3 @ 1033:330a5db51c62
plugin links: remove basic entities
author | David Demelier <markand@malikania.fr> |
---|---|
date | Sun, 28 Mar 2021 15:02:56 +0200 |
parents | efeb73a9918b |
children | f7f73da81a5f |
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" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 .Ft void |
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 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
157 function is called when the plugin is being loaded and add to the daemon. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
158 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
159 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
160 .Fn <prefix>_reload |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
161 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
|
162 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
163 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
164 .Fn <prefix>_unload |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
165 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
|
166 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
167 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
168 .Fn <prefix>_event |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
169 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
|
170 .Xr libirccd-event 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
171 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
|
172 .Fa ev . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
173 .\" MODULES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
174 .Sh MODULES |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
175 The following APIs are available |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
176 .Bl -tag |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
177 .It Xr libirccd-server 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
178 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
|
179 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
|
180 .It Xr libirccd-channel 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
181 Channel information. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
182 .It Xr libirccd-compat 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
183 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
|
184 available on your system. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
185 .It Xr libirccd-event 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
186 Information about an IRC event received. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
187 .It Xr libirccd-hook 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
188 Create new hooks. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
189 .It Xr libirccd-irccd 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
190 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
|
191 .It Xr libirccd-log 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
192 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
|
193 .It Xr libirccd-plugin 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
194 Create new plugins. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
195 .It Xr libirccd-rule 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
196 Create or match rules. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
197 .It Xr libirccd-subst 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
198 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
|
199 .It Xr libirccd-util 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
200 Various utilities. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
201 .El |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
202 .\" SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
203 .Sh SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
204 .Xr libirccd-channel 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
205 .Xr libirccd-compat 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
206 .Xr libirccd-event 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
207 .Xr libirccd-hook 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
208 .Xr libirccd-irccd 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
209 .Xr libirccd-log 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
210 .Xr libirccd-plugin 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
211 .Xr libirccd-rule 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
212 .Xr libirccd-server 3 , |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
213 .Xr libirccd-util 3 |