summaryrefslogtreecommitdiffstats
path: root/cmds/servicemanager/bctest.c
diff options
context:
space:
mode:
Diffstat (limited to 'cmds/servicemanager/bctest.c')
-rw-r--r--cmds/servicemanager/bctest.c102
1 files changed, 0 insertions, 102 deletions
diff --git a/cmds/servicemanager/bctest.c b/cmds/servicemanager/bctest.c
deleted file mode 100644
index 6dee816..0000000
--- a/cmds/servicemanager/bctest.c
+++ /dev/null
@@ -1,102 +0,0 @@
-/* Copyright 2008 The Android Open Source Project
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <errno.h>
-
-#include "binder.h"
-
-void *svcmgr_lookup(struct binder_state *bs, void *target, const char *name)
-{
- void *ptr;
- unsigned iodata[512/4];
- struct binder_io msg, reply;
-
- bio_init(&msg, iodata, sizeof(iodata), 4);
- bio_put_string16_x(&msg, SVC_MGR_NAME);
- bio_put_string16_x(&msg, name);
-
- if (binder_call(bs, &msg, &reply, target, SVC_MGR_CHECK_SERVICE))
- return 0;
-
- ptr = bio_get_ref(&reply);
-
- if (ptr)
- binder_acquire(bs, ptr);
-
- binder_done(bs, &msg, &reply);
-
- return ptr;
-}
-
-int svcmgr_publish(struct binder_state *bs, void *target, const char *name, void *ptr)
-{
- unsigned status;
- unsigned iodata[512/4];
- struct binder_io msg, reply;
-
- bio_init(&msg, iodata, sizeof(iodata), 4);
-
- bio_put_string16_x(&msg, SVC_MGR_NAME);
- bio_put_string16_x(&msg, name);
- bio_put_obj(&msg, ptr);
-
- if (binder_call(bs, &msg, &reply, target, SVC_MGR_ADD_SERVICE))
- return -1;
-
- status = bio_get_uint32(&reply);
-
- binder_done(bs, &msg, &reply);
-
- return status;
-}
-
-unsigned token;
-
-int main(int argc, char **argv)
-{
- int fd;
- struct binder_state *bs;
- void *svcmgr = BINDER_SERVICE_MANAGER;
-
- bs = binder_open(128*1024);
-
- argc--;
- argv++;
- while (argc > 0) {
- if (!strcmp(argv[0],"alt")) {
- void *ptr = svcmgr_lookup(bs, svcmgr, "alt_svc_mgr");
- if (!ptr) {
- fprintf(stderr,"cannot find alt_svc_mgr\n");
- return -1;
- }
- svcmgr = ptr;
- fprintf(stderr,"svcmgr is via %p\n", ptr);
- } else if (!strcmp(argv[0],"lookup")) {
- void *ptr;
- if (argc < 2) {
- fprintf(stderr,"argument required\n");
- return -1;
- }
- ptr = svcmgr_lookup(bs, svcmgr, argv[1]);
- fprintf(stderr,"lookup(%s) = %p\n", argv[1], ptr);
- argc--;
- argv++;
- } else if (!strcmp(argv[0],"publish")) {
- if (argc < 2) {
- fprintf(stderr,"argument required\n");
- return -1;
- }
- svcmgr_publish(bs, svcmgr, argv[1], &token);
- argc--;
- argv++;
- } else {
- fprintf(stderr,"unknown command %s\n", argv[0]);
- return -1;
- }
- argc--;
- argv++;
- }
- return 0;
-}