Lines Matching defs:pHeap

28 void vboxSHGSMICommandFree (PVBOXSHGSMI pHeap, PVBOXSHGSMIHEADER pCmd)
30 VBoxSHGSMIHeapFree(pHeap, pCmd);
33 DECLINLINE(void) vboxSHGSMICommandRelease (PVBOXSHGSMI pHeap, PVBOXSHGSMIHEADER pCmd)
38 vboxSHGSMICommandFree (pHeap, pCmd);
41 DECLCALLBACK(void) vboxSHGSMICompletionSetEvent(PVBOXSHGSMI pHeap, void *pvCmd, void *pvContext)
46 DECLCALLBACK(void) vboxSHGSMICompletionCommandRelease(PVBOXSHGSMI pHeap, void *pvCmd, void *pvContext)
48 vboxSHGSMICommandRelease (pHeap, VBoxSHGSMIBufferHeader(pvCmd));
52 DECLINLINE(const VBOXSHGSMIHEADER*) vboxSHGSMICommandPrepAsynch (PVBOXSHGSMI pHeap, PVBOXSHGSMIHEADER pHeader)
59 DECLINLINE(void) vboxSHGSMICommandDoneAsynch (PVBOXSHGSMI pHeap, const VBOXSHGSMIHEADER* pHeader)
65 pfnCompletion(pHeap, VBoxSHGSMIBufferData (pHeader), (PVOID)pHeader->u64Info2);
68 vboxSHGSMICommandRelease(pHeap, (PVBOXSHGSMIHEADER)pHeader);
71 const VBOXSHGSMIHEADER* VBoxSHGSMICommandPrepAsynchEvent (PVBOXSHGSMI pHeap, PVOID pvBuff, RTSEMEVENT hEventSem)
78 return vboxSHGSMICommandPrepAsynch (pHeap, pHeader);
81 const VBOXSHGSMIHEADER* VBoxSHGSMICommandPrepSynch (PVBOXSHGSMI pHeap, PVOID pCmd)
88 return VBoxSHGSMICommandPrepAsynchEvent (pHeap, pCmd, hEventSem);
93 void VBoxSHGSMICommandDoneAsynch (PVBOXSHGSMI pHeap, const VBOXSHGSMIHEADER * pHeader)
95 vboxSHGSMICommandDoneAsynch(pHeap, pHeader);
98 int VBoxSHGSMICommandDoneSynch (PVBOXSHGSMI pHeap, const VBOXSHGSMIHEADER* pHeader)
100 VBoxSHGSMICommandDoneAsynch (pHeap, pHeader);
109 void VBoxSHGSMICommandCancelAsynch (PVBOXSHGSMI pHeap, const VBOXSHGSMIHEADER* pHeader)
111 vboxSHGSMICommandRelease(pHeap, (PVBOXSHGSMIHEADER)pHeader);
114 void VBoxSHGSMICommandCancelSynch (PVBOXSHGSMI pHeap, const VBOXSHGSMIHEADER* pHeader)
116 VBoxSHGSMICommandCancelAsynch (pHeap, pHeader);
121 const VBOXSHGSMIHEADER* VBoxSHGSMICommandPrepAsynch (PVBOXSHGSMI pHeap, PVOID pvBuff, PFNVBOXSHGSMICMDCOMPLETION pfnCompletion, PVOID pvCompletion, uint32_t fFlags)
129 return vboxSHGSMICommandPrepAsynch (pHeap, pHeader);
132 const VBOXSHGSMIHEADER* VBoxSHGSMICommandPrepAsynchIrq (PVBOXSHGSMI pHeap, PVOID pvBuff, PFNVBOXSHGSMICMDCOMPLETION_IRQ pfnCompletion, PVOID pvCompletion, uint32_t fFlags)
141 return vboxSHGSMICommandPrepAsynch (pHeap, pHeader);
144 void* VBoxSHGSMIHeapAlloc(PVBOXSHGSMI pHeap, HGSMISIZE cbData, uint8_t u8Channel, uint16_t u16ChannelInfo)
149 KeAcquireSpinLock(&pHeap->HeapLock, &OldIrql);
150 pvData = HGSMIHeapAlloc(&pHeap->Heap, cbData, u8Channel, u16ChannelInfo);
151 KeReleaseSpinLock(&pHeap->HeapLock, OldIrql);
157 void VBoxSHGSMIHeapFree(PVBOXSHGSMI pHeap, void *pvBuffer)
161 KeAcquireSpinLock(&pHeap->HeapLock, &OldIrql);
162 HGSMIHeapFree(&pHeap->Heap, pvBuffer);
163 KeReleaseSpinLock(&pHeap->HeapLock, OldIrql);
166 void* VBoxSHGSMIHeapBufferAlloc(PVBOXSHGSMI pHeap, HGSMISIZE cbData)
171 KeAcquireSpinLock(&pHeap->HeapLock, &OldIrql);
172 pvData = HGSMIHeapBufferAlloc(&pHeap->Heap, cbData);
173 KeReleaseSpinLock(&pHeap->HeapLock, OldIrql);
179 void VBoxSHGSMIHeapBufferFree(PVBOXSHGSMI pHeap, void *pvBuffer)
183 KeAcquireSpinLock(&pHeap->HeapLock, &OldIrql);
184 HGSMIHeapBufferFree(&pHeap->Heap, pvBuffer);
185 KeReleaseSpinLock(&pHeap->HeapLock, OldIrql);
188 int VBoxSHGSMIInit(PVBOXSHGSMI pHeap, uint32_t u32HeapType, void *pvBase, HGSMISIZE cbArea, HGSMIOFFSET offBase,
191 KeInitializeSpinLock(&pHeap->HeapLock);
192 return HGSMIHeapSetup(&pHeap->Heap, u32HeapType, pvBase, cbArea, offBase, pEnv);
195 void VBoxSHGSMITerm(PVBOXSHGSMI pHeap)
197 HGSMIHeapDestroy(&pHeap->Heap);
200 void* VBoxSHGSMICommandAlloc(PVBOXSHGSMI pHeap, HGSMISIZE cbData, uint8_t u8Channel, uint16_t u16ChannelInfo)
203 PVBOXSHGSMIHEADER pHeader = (PVBOXSHGSMIHEADER)VBoxSHGSMIHeapAlloc(pHeap, cbData + sizeof (VBOXSHGSMIHEADER), u8Channel, u16ChannelInfo);
213 void VBoxSHGSMICommandFree(PVBOXSHGSMI pHeap, void *pvBuffer)
216 vboxSHGSMICommandRelease (pHeap, pHeader);
222 int VBoxSHGSMICommandProcessCompletion (PVBOXSHGSMI pHeap, VBOXSHGSMIHEADER* pCur, bool bIrq, PVBOXVTLIST pPostProcessList)
237 pfnCompletion = pfnCallback(pHeap, VBoxSHGSMIBufferData(pCur), pvCallback, &pvCompletion);
255 pfnCallback(pHeap, VBoxSHGSMIBufferData(pCur), pvCallback);
265 int VBoxSHGSMICommandPostprocessCompletion (PVBOXSHGSMI pHeap, PVBOXVTLIST pPostProcessList)
275 pfnCallback(pHeap, VBoxSHGSMIBufferData(pCmd), pvCallback);