X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=docs%2Fafb-binding-references.md;h=0e30ffe7c40598fa6ddd38eea8b9d03ce25d6b4e;hb=c8558c8a28966110aa3a356f95d3c60afe32b64a;hp=f5ab66d1811faf33444a366a6bfb312f13627e20;hpb=550b36945f2e9eae1fc4b822ea9a00a2a866eb83;p=src%2Fapp-framework-binder.git diff --git a/docs/afb-binding-references.md b/docs/afb-binding-references.md index f5ab66d1..0e30ffe7 100644 --- a/docs/afb-binding-references.md +++ b/docs/afb-binding-references.md @@ -694,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'. @@ -706,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