60 android::sp<INidec>
service = INidec::getService();
63 printf(
"Failed to get service\n");
67 service->GetAppFlag(param, [&](int32_t ret,
const hidl_handle &handle) {
68 printf(
"GetAppFlag: ret %d\n", ret);
71 shm_fd = dup(handle->data[0]);
72 printf(
"vendor:GetAppFlag shm_fd:%d\n", shm_fd);
81 native_handle_t *handle = native_handle_create(1, 0);
82 handle->data[0] = shm_fd;
83 service->SetAppFlag(param, handle);
85 printf(
"Create shm fd %d\n", shm_fd);
86 int32_t *shm_data = (int32_t *)mmap(
87 0,
sizeof(int32_t), PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0);
88 if (MAP_FAILED == shm_data)
90 printf(
"Error mmap shm_data ..\n");
93 printf(
"set shm data %d\n", *shm_data);
97 shm_data = (int32_t *)mmap(0,
sizeof(int32_t), PROT_READ | PROT_WRITE,
98 MAP_SHARED, shm_fd, 0);
99 if (MAP_FAILED == shm_data)
101 printf(
"Error mmap shm_data ..\n");
103 printf(
"get shm data %d\n", *shm_data);
107 printf(
"Get shm fd %d\n", shm_fd);
108 int32_t *shm_data = (int32_t *)mmap(
109 0,
sizeof(int32_t), PROT_READ | PROT_WRITE, MAP_SHARED, shm_fd, 0);
110 if (MAP_FAILED == shm_data)
112 printf(
"mmap failed errno = %d\n", errno);
114 printf(
"get shm data %d\n", *shm_data);