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; }
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); }