Add vndservicemanager.
vndservicemanager is the context manager for
binder services that are exclusively used from
the vendor binder domain, "/dev/vndbinder";
these services can only be registered and accessed
by vendor processes.
To facilitate code re-use, vndservicemanager
is just framework servicemanager accessing the
vendor binder devnode.
Bug: 36052864
Test: modified binder_test to use /dev/vndbinder
Change-Id: Iac19a1180321a5be78d7be5ceb4ba211c593dc47
diff --git a/cmds/servicemanager/binder.c b/cmds/servicemanager/binder.c
index 753aeb5..93a18fc 100644
--- a/cmds/servicemanager/binder.c
+++ b/cmds/servicemanager/binder.c
@@ -94,7 +94,7 @@
size_t mapsize;
};
-struct binder_state *binder_open(size_t mapsize)
+struct binder_state *binder_open(const char* driver, size_t mapsize)
{
struct binder_state *bs;
struct binder_version vers;
@@ -105,10 +105,10 @@
return NULL;
}
- bs->fd = open("/dev/binder", O_RDWR | O_CLOEXEC);
+ bs->fd = open(driver, O_RDWR | O_CLOEXEC);
if (bs->fd < 0) {
- fprintf(stderr,"binder: cannot open device (%s)\n",
- strerror(errno));
+ fprintf(stderr,"binder: cannot open %s (%s)\n",
+ driver, strerror(errno));
goto fail_open;
}