Lines Matching refs:resource
22 static void vmci_resource_do_remove(struct vmci_resource *resource);
165 vmci_resource_add(struct vmci_resource *resource, in vmci_resource_add() argument
171 ASSERT(resource); in vmci_resource_add()
176 resource_handle.resource); in vmci_resource_add()
180 vmci_hashtable_init_entry(&resource->hash_entry, resource_handle); in vmci_resource_add()
181 resource->type = resource_type; in vmci_resource_add()
182 resource->container_free_cb = container_free_cb; in vmci_resource_add()
183 resource->container_object = container_object; in vmci_resource_add()
187 &resource->hash_entry); in vmci_resource_add()
217 struct vmci_resource *resource; in vmci_resource_remove() local
219 resource = vmci_resource_get(resource_handle, resource_type); in vmci_resource_remove()
220 if (resource == NULL) in vmci_resource_remove()
224 vmci_hashtable_remove_entry(resource_table, &resource->hash_entry); in vmci_resource_remove()
226 vmci_resource_release(resource); in vmci_resource_remove()
251 struct vmci_resource *resource; in vmci_resource_get() local
256 resource = RESOURCE_CONTAINER(entry, struct vmci_resource, hash_entry); in vmci_resource_get()
258 resource->type == resource_type) { in vmci_resource_get()
259 return (resource); in vmci_resource_get()
283 vmci_resource_hold(struct vmci_resource *resource) in vmci_resource_hold() argument
286 ASSERT(resource); in vmci_resource_hold()
287 vmci_hashtable_hold_entry(resource_table, &resource->hash_entry); in vmci_resource_hold()
308 vmci_resource_do_remove(struct vmci_resource *resource) in vmci_resource_do_remove() argument
311 ASSERT(resource); in vmci_resource_do_remove()
313 if (resource->container_free_cb) { in vmci_resource_do_remove()
314 resource->container_free_cb(resource->container_object); in vmci_resource_do_remove()
334 vmci_resource_release(struct vmci_resource *resource) in vmci_resource_release() argument
338 ASSERT(resource); in vmci_resource_release()
341 &resource->hash_entry); in vmci_resource_release()
343 vmci_resource_do_remove(resource); in vmci_resource_release()
369 vmci_resource_handle(struct vmci_resource *resource) in vmci_resource_handle() argument
372 ASSERT(resource); in vmci_resource_handle()
373 return (resource->hash_entry.handle); in vmci_resource_handle()