Lines Matching refs:si
142 struct svcinfo *si; in find_svc() local
144 for (si = svclist; si; si = si->next) { in find_svc()
145 if ((len == si->len) && in find_svc()
146 !memcmp(s16, si->name, len * sizeof(uint16_t))) { in find_svc()
147 return si; in find_svc()
155 struct svcinfo *si = (struct svcinfo* ) ptr; in svcinfo_death() local
157 ALOGI("service '%s' died\n", str8(si->name, si->len)); in svcinfo_death()
158 if (si->handle) { in svcinfo_death()
159 binder_release(bs, si->handle); in svcinfo_death()
160 si->handle = 0; in svcinfo_death()
172 struct svcinfo *si = find_svc(s, len); in do_find_service() local
174 if (!si || !si->handle) { in do_find_service()
178 if (!si->allow_isolated) { in do_find_service()
191 return si->handle; in do_find_service()
199 struct svcinfo *si; in do_add_service() local
213 si = find_svc(s, len); in do_add_service()
214 if (si) { in do_add_service()
215 if (si->handle) { in do_add_service()
218 svcinfo_death(bs, si); in do_add_service()
220 si->handle = handle; in do_add_service()
222 si = malloc(sizeof(*si) + (len + 1) * sizeof(uint16_t)); in do_add_service()
223 if (!si) { in do_add_service()
228 si->handle = handle; in do_add_service()
229 si->len = len; in do_add_service()
230 memcpy(si->name, s, (len + 1) * sizeof(uint16_t)); in do_add_service()
231 si->name[len] = '\0'; in do_add_service()
232 si->death.func = (void*) svcinfo_death; in do_add_service()
233 si->death.ptr = si; in do_add_service()
234 si->allow_isolated = allow_isolated; in do_add_service()
235 si->next = svclist; in do_add_service()
236 svclist = si; in do_add_service()
240 binder_link_to_death(bs, handle, &si->death); in do_add_service()
249 struct svcinfo *si; in svcmgr_handler() local
322 si = svclist; in svcmgr_handler()
323 while ((n-- > 0) && si) in svcmgr_handler()
324 si = si->next; in svcmgr_handler()
325 if (si) { in svcmgr_handler()
326 bio_put_string16(reply, si->name); in svcmgr_handler()