003 File Manager
Current Path:
/usr/src/sys/dev/vmware/vmci
usr
/
src
/
sys
/
dev
/
vmware
/
vmci
/
📁
..
📄
LICENSE
(2.18 KB)
📄
vmci.c
(27.86 KB)
📄
vmci.h
(1.68 KB)
📄
vmci_call_defs.h
(6.4 KB)
📄
vmci_datagram.c
(15.75 KB)
📄
vmci_datagram.h
(663 B)
📄
vmci_defs.h
(20.7 KB)
📄
vmci_doorbell.c
(23.37 KB)
📄
vmci_doorbell.h
(722 B)
📄
vmci_driver.c
(12.07 KB)
📄
vmci_driver.h
(1.13 KB)
📄
vmci_event.c
(16.33 KB)
📄
vmci_event.h
(473 B)
📄
vmci_hashtable.c
(12.45 KB)
📄
vmci_hashtable.h
(1.37 KB)
📄
vmci_kernel_api.h
(392 B)
📄
vmci_kernel_api_1.h
(2.67 KB)
📄
vmci_kernel_api_2.h
(874 B)
📄
vmci_kernel_defs.h
(678 B)
📄
vmci_kernel_if.c
(23.83 KB)
📄
vmci_kernel_if.h
(3.04 KB)
📄
vmci_qpair.c
(22.26 KB)
📄
vmci_queue.h
(4.39 KB)
📄
vmci_queue_pair.c
(24.95 KB)
📄
vmci_queue_pair.h
(791 B)
📄
vmci_resource.c
(8.87 KB)
📄
vmci_resource.h
(1.63 KB)
📄
vmci_utils.h
(909 B)
Editing: vmci_hashtable.h
/*- * Copyright (c) 2018 VMware, Inc. * * SPDX-License-Identifier: (BSD-2-Clause OR GPL-2.0) * * $FreeBSD$ */ /* Hash table for use in the APIs. */ #ifndef _VMCI_HASHTABLE_H_ #define _VMCI_HASHTABLE_H_ #include "vmci_defs.h" #include "vmci_kernel_if.h" struct vmci_hash_entry { struct vmci_handle handle; int ref_count; struct vmci_hash_entry *next; }; struct vmci_hashtable { struct vmci_hash_entry **entries; /* Number of buckets in above array. */ int size; vmci_lock lock; }; struct vmci_hashtable *vmci_hashtable_create(int size); void vmci_hashtable_destroy(struct vmci_hashtable *table); void vmci_hashtable_init_entry(struct vmci_hash_entry *entry, struct vmci_handle handle); int vmci_hashtable_add_entry(struct vmci_hashtable *table, struct vmci_hash_entry *entry); int vmci_hashtable_remove_entry(struct vmci_hashtable *table, struct vmci_hash_entry *entry); struct vmci_hash_entry *vmci_hashtable_get_entry(struct vmci_hashtable *table, struct vmci_handle handle); void vmci_hashtable_hold_entry(struct vmci_hashtable *table, struct vmci_hash_entry *entry); int vmci_hashtable_release_entry(struct vmci_hashtable *table, struct vmci_hash_entry *entry); bool vmci_hashtable_entry_exists(struct vmci_hashtable *table, struct vmci_handle handle); void vmci_hashtable_sync(struct vmci_hashtable *table); #endif /* !_VMCI_HASHTABLE_H_ */
Upload File
Create Folder