summaryrefslogtreecommitdiffstats
path: root/libraries/libgbinder/README
diff options
context:
space:
mode:
author juanma1980 <juanma1980@disroot.org>2024-01-18 07:46:34 +0700
committer Willy Sudiarto Raharjo <willysr@slackbuilds.org>2024-01-18 09:34:20 +0700
commit45d0cfce15688620ed8d864ea69a987e8bb508d9 (patch)
tree1d0488bd92afc6e3205394138566432547ac7ba8 /libraries/libgbinder/README
parent03d8ee780b22b2b4ac6622d64500e4e154327e9b (diff)
downloadslackbuilds-45d0cfce15688620ed8d864ea69a987e8bb508d9.tar.gz
slackbuilds-45d0cfce15688620ed8d864ea69a987e8bb508d9.tar.xz
libraries/libgbinder: Added (GLib-style interface to binder).
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
Diffstat (limited to 'libraries/libgbinder/README')
-rw-r--r--libraries/libgbinder/README46
1 files changed, 46 insertions, 0 deletions
diff --git a/libraries/libgbinder/README b/libraries/libgbinder/README
new file mode 100644
index 0000000000..906e52647c
--- /dev/null
+++ b/libraries/libgbinder/README
@@ -0,0 +1,46 @@
+GLib-style interface to binder (Android IPC mechanism)
+
+Key features:
+
+1. Integration with GLib event loop
+2. Detection of 32 vs 64 bit kernel at runtime
+3. Asynchronous transactions that don't block the event thread
+4. Stable service manager and low-level transaction APIs
+
+Android keeps changing both low-level RPC and service manager
+protocols from version to version. To counter that, libgbinder
+implements configirable backends for different variants of those,
+and yet keeping its own API unchanged.
+
+Configuration is loaded from [Protocol] and [ServiceManager] sections
+of /etc/gbinder.conf file. The keys are binder device names or the
+special Default value, the value is the identifier of the protocol
+or service manager variant, respectively.
+
+In addition to reading /etc/gbinder.conf if it exists, /etc/gbinder.d
+directory is scanned for .conf files, the file list is sorted, files are
+loaded one by one, overwriting the entries loaded from /etc/gbinder.conf
+or from the previously processed file.
+
+Known protocol and service manager variants are aidl, aidl2, aidl3 and
+hidl. This list is expected to expand further in the future. The default
+configuration is as follows:
+
+ [Protocol]
+ Default = aidl
+ /dev/binder = aidl
+ /dev/hwbinder = hidl
+
+ [ServiceManager]
+ Default = aidl
+ /dev/binder = aidl
+ /dev/hwbinder = hidl
+
+Alternatively and preferably, one can specify the desired Android API
+level:
+
+ [General]
+ ApiLevel = 29
+
+and let libgbinder pick the appropriate preset. Full list of presets can
+be found in src/gbinder_config.c