From 7c7d610ccbd7e30204501622ebee6690aef5af0c Mon Sep 17 00:00:00 2001 From: José Bollo Date: Wed, 31 Aug 2016 14:13:54 +0200 Subject: bindings: adds ability to use data of applications MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The two new verbs 'afb_daemon_rootdir_get_fd' and 'afb_daemon_rootdir_open_locale' allow the bindings to retrieve its installed global data. Change-Id: I369997d9e59402a413a929aa650c48613f034183 Signed-off-by: José Bollo --- include/afb/afb-binding.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'include') diff --git a/include/afb/afb-binding.h b/include/afb/afb-binding.h index 7058b6d0..7d5da112 100644 --- a/include/afb/afb-binding.h +++ b/include/afb/afb-binding.h @@ -147,6 +147,8 @@ struct afb_daemon_itf { struct sd_bus *(*get_system_bus)(void *closure); /* gets the common systemd's system d-bus */ void (*vverbose)(void*closure, int level, const char *file, int line, const char *fmt, va_list args); struct afb_event (*event_make)(void *closure, const char *name); /* creates an event of 'name' */ + int (*rootdir_get_fd)(void *closure); + int (*rootdir_open_locale)(void *closure, const char *filename, int flags, const char *locale); }; /* @@ -259,3 +261,23 @@ static inline void afb_daemon_verbose(struct afb_daemon daemon, int level, const # endif #endif +/* + * Get the root directory file descriptor. This file descriptor can + * be used with functions 'openat', 'fstatat', ... + */ +static inline int afb_daemon_rootdir_get_fd(struct afb_daemon daemon) +{ + return daemon.itf->rootdir_get_fd(daemon.closure); +} + +/* + * Opens 'filename' within the root directory with 'flags' (see function openat) + * using the 'locale' definition (example: "jp,en-US") that can be NULL. + * Returns the file descriptor or -1 in case of error. + */ +static inline int afb_daemon_rootdir_open_locale(struct afb_daemon daemon, const char *filename, int flags, const char *locale) +{ + return daemon.itf->rootdir_open_locale(daemon.closure, filename, flags, locale); +} + + -- cgit 1.2.3-korg