44 #ifndef _CL_BUFFER_API_H_
45 #define _CL_BUFFER_API_H_
53 #include <clMemStats.h>
54 #include <clPoolIpi.h>
934 clBufferAppendHeap (
ClBufferHandleT source, ClUint8T *buffer, ClUint32T size);
967 ClUint8T** ppFlattenBuffer);
1095 ClRcT clBufferStatsGet(ClMemStatsT *pBufferStats);
1099 ClRcT clBufferPoolStatsGet(ClUint32T numPools,ClUint32T *pPoolSize,ClPoolStatsT *pBufferPoolStats);
1103 ClRcT clBufferVectorize(
ClBufferHandleT buffer,
struct iovec **ppIOVector,ClInt32T *pNumVectors);
1114 clBufferMessageCreateAndAllocate(ClUint32T size,
ClBufferHandleT *pMessageHandle) CL_DEPRECATED;
1124 clBufferMessageLengthGet(
ClBufferHandleT messageHandle, ClUint32T *pMessageLength) CL_DEPRECATED;
1128 ClUint8T *pByteBuffer,
1129 ClUint32T* pNumberOfBytesToRead) CL_DEPRECATED;
1133 ClUint8T *pByteBuffer,
1134 ClUint32T numberOfBytesToWrite) CL_DEPRECATED;
1138 ClUint8T *pByteBuffer,
1139 ClUint32T numberOfBytesToWrite) CL_DEPRECATED;
1146 ClUint32T *pReadOffset) CL_DEPRECATED;
1150 ClUint32T *pWriteOffset) CL_DEPRECATED;
1154 ClInt32T newReadOffset,
1159 ClInt32T newWriteOffset,
1164 ClUint32T numberOfBytes) CL_DEPRECATED;
1168 ClUint32T numberOfBytes) CL_DEPRECATED;
1172 ClUint32T sourceOffset,
1174 ClUint32T numberOfBytes) CL_DEPRECATED;
Typical defines found in any software project.
Header file of RBE related APIs.
ClRcT clBufferFinalize(void)
Cleans up the Buffer Management library.
ClRcT clBufferInitialize(const ClBufferPoolConfigT *pConfig)
Initializes the Buffer Management library.
ClRcT clBufferToBufferCopy(ClBufferHandleT sourceMessage, ClUint32T sourceMessageOffset, ClBufferHandleT destinationMessage, ClUint32T numberOfBytes)
Copies specific number of bytes from one message to another.
ClRcT clDbgBufferPrint(ClBufferHandleT buffer)
Dumps the buffer for debugging, etc.
ClRcT clBufferConcatenate(ClBufferHandleT destination, ClBufferHandleT *pSource)
Concatenates source message to destination message.
ClRcT clBufferKernelToUserCopy(ClBufferHandleT kernelMessageHandle, ClBufferHandleT userMessageHandle)
Copies message from kernel-space to user-space.
ClRcT clBufferWriteOffsetGet(ClBufferHandleT messageHandle, ClUint32T *pWriteOffset)
Returns current write offset of the message.
ClPtrT ClBufferHandleT
The type of the handle for the buffer messages.
Definition: clBufferApi.h:82
ClRcT clBufferLengthGet(ClBufferHandleT messageHandle, ClUint32T *pMessageLength)
Returns the length of the message.
ClRcT clBufferShrink(ClPoolShrinkOptionsT *pShrinkOptions)
Frees up the unused pools of all sizes.
ClRcT clBufferCreateAndAllocate(ClUint32T size, ClBufferHandleT *pMessageHandle)
Creates buffers for a requested size of a message.
ClRcT clBufferDuplicate(ClBufferHandleT messageHandle, ClBufferHandleT *pDuplicatedMessage)
Duplicates a message.
ClRcT clBufferLengthCalc(ClBufferHandleT bufferHandle)
Recompute the message length & set internal variable.
ClRcT clBufferReadOffsetSet(ClBufferHandleT messageHandle, ClInt32T newReadOffset, ClBufferSeekTypeT seekType)
Sets current read offset of the message.
ClRcT clBufferUserToKernelCopy(ClBufferHandleT userMessageHandle, ClBufferHandleT *pKernelMessageHandle)
Copies message from user-space to kernel-space.
ClRcT clBufferNBytesWrite(ClBufferHandleT messageHandle, ClUint8T *pByteBuffer, ClUint32T numberOfBytesToWrite)
Writes the specified number bytes of data from a message.
ClRcT clBufferTrailerTrim(ClBufferHandleT messageHandle, ClUint32T numberOfBytes)
Trims the tail of the message.
ClBufferMode
The config mode of the Buffer.
Definition: clBufferApi.h:92
ClRcT clBufferDelete(ClBufferHandleT *pMessageHandle)
Deletes the Buffers.
ClRcT clBufferClear(ClBufferHandleT messageHandle)
Deletes the content of the buffer message.
ClRcT clBufferChecksum16Compute(ClBufferHandleT messageHandle, ClUint32T startOffset, ClUint32T length, ClUint16T *pChecksum)
Computes a 16-bit checksum on a message.
ClRcT clBufferDataPrepend(ClBufferHandleT messageHandle, ClUint8T *pByteBuffer, ClUint32T numberOfBytesToWrite)
Prepends specified number of bytes at the begining of message.
ClRcT clBufferCreate(ClBufferHandleT *pMessageHandle)
Creates a new message.
ClRcT clBufferFlatten(ClBufferHandleT messageHandle, ClUint8T **ppFlattenBuffer)
Flattens message into a single buffer.
ClRcT clBufferWriteOffsetSet(ClBufferHandleT messageHandle, ClInt32T newWriteOffset, ClBufferSeekTypeT seekType)
Sets current write offset of the message.
enum ClBufferMode ClBufferModeT
The config mode of the Buffer.
ClRcT clBufferChecksum32Compute(ClBufferHandleT messageHandle, ClUint32T startOffset, ClUint32T length, ClUint32T *pChecksum)
Computes a 32-bit checksum on a message.
ClRcT clBufferReadOffsetGet(ClBufferHandleT messageHandle, ClUint32T *pReadOffset)
Returns current read offset of the message.
ClRcT clBufferHeaderTrim(ClBufferHandleT messageHandle, ClUint32T numberOfBytes)
Trims the start of the message.
ClRcT clBufferNBytesRead(ClBufferHandleT messageHandle, ClUint8T *pByteBuffer, ClUint32T *pNumberOfBytesToRead)
Reads the specified number of bytes of data from a message.
ClBufferSeekTypeT
Definition: clBufferApi.h:58
@ CL_BUFFER_PREALLOCATED_MODE
This mode makes buffer library uses Clovis implementation of Pool for allocating and deallocating mem...
Definition: clBufferApi.h:103
@ CL_BUFFER_NATIVE_MODE
In this mode the buffer library uses the malloc and free for allocating and deallocating memory for b...
Definition: clBufferApi.h:97
@ CL_BUFFER_SEEK_SET
This is to set the read or write offset pointer to a position mentioned from the BEGINING of the Buff...
Definition: clBufferApi.h:63
@ CL_BUFFER_SEEK_CUR
This is to set the read or write offset pointer to a position mentioned from the CURRENT position of ...
Definition: clBufferApi.h:68
@ CL_BUFFER_SEEK_END
This is to set the read or write offset pointer to a position mentioned from the END of the Buffer me...
Definition: clBufferApi.h:73
ClUint32T ClRcT
Clovis return code type.
Definition: clCommon.h:168
The type of the buffer configuration info.
Definition: clBufferApi.h:112
ClBufferModeT mode
Mode configured for Buffer fof fetching the memory.
Definition: clBufferApi.h:129
ClBoolT lazy
Mode of usage of pools.
Definition: clBufferApi.h:124
ClPoolConfigT * pPoolConfig
Pool configuration of all the pools used by buffer library.
Definition: clBufferApi.h:120
ClUint32T numPools
The Number pools used for buffer library.
Definition: clBufferApi.h:116