Beispiel #1
0
PACKET_BufHandle_t RPC_PACKET_AllocateBufferCacheAlign(PACKET_InterfaceType_t
						       interfaceType,
						       UInt32 requiredSize,
						       UInt8 channel,
						       UInt32 waitTime,
						       UInt8 cacheAlign)
{
	PACKET_BufHandle_t pkt;

	pkt =
	    RPC_PACKET_AllocateBufferEx(interfaceType,
					(requiredSize + cacheAlign), channel,
					waitTime);

	if (pkt && cacheAlign > 0) {
		UInt32 alignSize;
		void *data = IPC_BufferDataPointer((IPC_Buffer) pkt);
		alignSize = (UInt32)data & (cacheAlign - 1);
		if (alignSize) {
			IPC_IncrementBufferDataPointer((IPC_Buffer) pkt,
						       (cacheAlign -
							alignSize));
		}
	}
	return pkt;
}
Beispiel #2
0
PACKET_BufHandle_t RPC_PACKET_AllocateBuffer(PACKET_InterfaceType_t interfaceType, UInt32 requiredSize, UInt8 channel)
{
	UInt32 waitTime;

	if(interfaceType == INTERFACE_CAPI2)
		waitTime = 100000;//100 secs
	
	else if(interfaceType == INTERFACE_PACKET )
		waitTime = PKT_ALLOC_WAIT_FOREVER;//forever
	
	else
		waitTime = PKT_ALLOC_NOWAIT;//never

	return RPC_PACKET_AllocateBufferEx(interfaceType, requiredSize, channel, waitTime);
}