Files
@ d0a14f973771
Branch filter:
Location: vmkdrivers/BLD/build/HEADERS/vmkapi-current-all-public/vmkernel64/release/core/vmkapi_lock_domain.h - annotation
d0a14f973771
3.0 KiB
text/x-chdr
ESXi-5.0-U1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 | 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e 763922b5834e | /* **********************************************************
* Copyright 2010 VMware, Inc. All rights reserved.
* **********************************************************/
/*
* @VMKAPIMOD_LICENSE@
*/
/*
******************************************************************************
* Lock Domains */ /**
*
* \addtogroup Core
* @{
* \defgroup LockDomains Lock Domains
* @{
*
* Lock domains can be used to implement a local lock ranking scheme within one
* or more modules. All spinlocks that are created with the same lock domain ID
* will be rank checked against each other.
*
******************************************************************************
*/
#ifndef _VMKAPI_CORE_LOCKDOMAIN_H_
#define _VMKAPI_CORE_LOCKDOMAIN_H_
/** \cond never */
#ifndef VMK_HEADER_INCLUDED_FROM_VMKAPI_H
#error This vmkapi file should never be included directly but only via vmkapi.h
#endif
/** \endcond never */
/**
* \brief Lock Domain ID
*/
struct vmkLockDomainInt;
typedef struct vmkLockDomainInt *vmk_LockDomainID;
/** Invalid domain ID */
#define VMK_LOCKDOMAIN_INVALID ((vmk_LockDomainID)-1)
/*
******************************************************************************
* vmk_LockDomainCreate */ /**
*
* \brief Create a lock domain
*
* Allocates a lock domain from the given heap and initializes it.
*
* \note This function will not block
*
* \param[in] moduleID Module ID of the caller
* \param[in] heapID Heap to allocate the domain from
* \param[in] name Name of the domain
* \param[out] domain ID of the newly created domain
*
* \return VMK_OK if the domain was successfully created, error code otherwise
*
******************************************************************************
*/
VMK_ReturnStatus
vmk_LockDomainCreate(vmk_ModuleID moduleID,
vmk_HeapID heapID,
vmk_Name *name,
vmk_LockDomainID *domain);
/*
******************************************************************************
* vmk_LockDomainDestroy */ /**
*
* \brief Destroy a domain previously created via vmk_LockDomainCreate
*
* Destroy the given domain and free the allocated memory
*
* \note This function will not block
*
* \param[in] domain Domain ID
*
******************************************************************************
*/
void
vmk_LockDomainDestroy(vmk_LockDomainID domain);
/*
******************************************************************************
* vmk_LockDomainAllocSize */ /**
*
* \brief Size that of the allocation that will be done by vmk_LockDomainCreate
*
* \note This function will not block
*
* \result Allocation size
*
******************************************************************************
*/
vmk_ByteCountSmall
vmk_LockDomainAllocSize(void);
#endif
/** @} */
/** @} */
|