packaging: Update spec and deb packaging
[src/app-framework-binder.git] / docs / afb-binding-references.md
index c266c2e..0e30ffe 100644 (file)
@@ -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