X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Fafb-binding-references.md;h=0e30ffe7c40598fa6ddd38eea8b9d03ce25d6b4e;hb=1fca4b9b36dc1bb3c5ee7ec1ce6b5d74ffbfe29c;hp=c266c2ef7a18d6b9ed93e4f6a18cedf8c9cb7ea0;hpb=36c7ab15e79d6b0ff6188b61da1061f36b902f8e;p=src%2Fapp-framework-binder.git diff --git a/docs/afb-binding-references.md b/docs/afb-binding-references.md index c266c2ef..0e30ffe7 100644 --- a/docs/afb-binding-references.md +++ b/docs/afb-binding-references.md @@ -238,6 +238,18 @@ bindings at its initialization. int afb_daemon_require_api(const char *name, int initialized) ``` +This function allows to give a different name to the binding. +It can be called during pre-init. + +```C +/* + * Set the name of the API to 'name'. + * Calling this function is only allowed within preinit. + * Returns 0 in case of success or -1 in case of error. + */ +int afb_daemon_rename_api(const char *name); +``` + ## Functions of class afb_service The following functions allow services to call verbs of other @@ -682,11 +694,11 @@ Instead, you should use the macros: void afb_req_verbose(struct afb_req req, int level, const char *file, int line, const char * func, const char *fmt, ...); ``` -The function below allows a binding to check whether a client -has a permission of not. +The functions below allow a binding involved in the platform security +to explicitely check a permission of a client or to get the calling +application identity. ```C - /* * Check whether the 'permission' is granted or not to the client * identified by 'req'. @@ -694,6 +706,25 @@ has a permission of not. * Returns 1 if the permission is granted or 0 otherwise. */ int afb_req_has_permission(struct afb_req req, const char *permission); + +/* + * Get the application identifier of the client application for the + * request 'req'. + * + * Returns the application identifier or NULL when the application + * can not be identified. + * + * The returned value if not NULL must be freed by the caller + */ +char *afb_req_get_application_id(struct afb_req req); + +/* + * Get the user identifier (UID) of the client application for the + * request 'req'. + * + * Returns -1 when the application can not be identified. + */ +int afb_req_get_uid(struct afb_req req); ``` ## Logging macros