Mercurial > irccd
annotate man/libirccd-hook.3 @ 1013:efeb73a9918b
man: add C API for what is mostly stabilized
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 17 Feb 2021 18:16:19 +0100 |
parents | |
children | f18988efb96b |
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-HOOK 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-hook |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
22 .Nd manipulate hooks |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
23 .\" SYNOPSIS |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
24 .Sh SYNOPSIS |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
25 .In irccd/hook.h |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
26 .Ft struct irc_hook * |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
27 .Fn irc_hook_new "const char *name, const char *path" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
28 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
29 .Fn irc_hook_invoke "struct irc_hook *hook, const struct irc_event *ev" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
30 .Ft void |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
31 .Fn irc_hook_finish "struct irc_hook *" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
32 .\" DESCRIPTION |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
33 .Sh DESCRIPTION |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
34 This header provides functions to create new hook or to invoke them. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
35 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
36 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
37 .Vt "struct irc_hook" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
38 is declared as: |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
39 .Bd -literal |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
40 struct irc_hook { |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
41 char name[IRC_ID_LEN]; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
42 char path[PATH_MAX]; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
43 LIST_ENTRY(irc_hook) link; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
44 }; |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
45 .Ed |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
46 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
47 The fields of |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
48 .Vt "struct irc_hook" |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
49 are: |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
50 .Bl -tag -width name |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
51 .It Va name |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
52 Name to identify this hook. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
53 .It Va path |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
54 Absolute path to the hook. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
55 .It Va link |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
56 Abstract entry to be used with the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
57 .Xr queue 3 |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
58 macros. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
59 .El |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
60 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
61 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
62 .Fn irc_hook_new |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
63 allocates a new hook with the identifer |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
64 .Fa name |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
65 on the given |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
66 .Fa path . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
67 Those arguments will be copied into the returned structure fields of the same |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
68 name. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
69 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
70 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
71 .Fn irc_hook_invoke |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
72 will invoke the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
73 .Fa hook |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
74 with the current IRC event pointed by |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
75 .Fa ev . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
76 .Pp |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
77 The |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
78 .Fn irc_hook_finish |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
79 clears resources allocated for the |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
80 .Fa hook . |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
81 Make sure to remove it from the linked list where it is attached to before |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
82 calling this function. |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
83 .\" SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
84 .Sh SEE ALSO |
efeb73a9918b
man: add C API for what is mostly stabilized
David Demelier <markand@malikania.fr>
parents:
diff
changeset
|
85 .Xr libirccd 3 |