LIBCASPER(3) | MidnightBSD Library Functions Manual | LIBCASPER(3) |
CREATE_SERVICE
—
casper service declaration macro
Casper Library (libcasper, -lcasper)
#include
<sys/nv.h>
#include <libcasper.h>
#include
<libcasper_service.h>
typedef int service_limit_func_t(const nvlist_t *, const nvlist_t *); typedef int service_command_func_t(const char *, const nvlist_t *, nvlist_t *, nvlist_t *);
CREATE_SERVICE
(name,
limit_func,
command_func,
flags);
The CREATE_SERVICE
macro to create a new
Casper service. The name is a string containing the
service name, which will be used in the
cap_service_open(3),
function to identify it.
The limit_func is a function of type
service_limit_func_t
. The first argument of the
function contains
nvlist(9), old service
limits and second one the new limits. If the services wasn't limited the old
limits will be set to NULL
. This function should not
allow to extend service limits and only limit it further. The
command_func is a function of type
service_command_func_t
. First argument is the name
of the command that should be executed. The first
nvlist(9) contains the
current limits. Next one contains a
nvlist(9) with current
request. The last one contains an output
nvlist(9) which contains
the response from Casper.
The flags argument defines limits of the service. The supported flags are:
The libcasper
library first appeared in
FreeBSD 10.3.
The libcasper
library was implemented by
Pawel Jakub Dawidek
<pawel@dawidek.net>
under sponsorship from the FreeBSD Foundation. The
libcasper
new architecture was implemented by
Mariusz Zaborski
<oshogbo@FreeBSD.org>
May 5, 2020 | midnightbsd-3.1 |