24 #ifndef _CLDSMMEMMGRAPI_H_
25 #define _CLDSMMEMMGRAPI_H_
53 MEM_ERR_SEQ_OPEN_LIMIT,
54 MEM_ERR_SEQ_END_OF_DATA,
62 #define MEM_BLOCK_SIZE_DFLT (256)
63 #define MEM_HEAP_SIZE_DFLT (512 * 1024)
64 #define MEM_SEQ_OPEN_DFLT (256)
67 #if defined(VGR_TRK_MEM) && !defined(USE_DSM_MEMCHK) && !defined(DBG_STORE_LINE)
68 #define DBG_STORE_LINE
89 typedef void* MemHandle;
105 typedef U8BIT *MemSeqRef;
111 #ifdef DSM_NO_MEM_CONTEXT
112 #define memStop( x ) memStop()
113 #ifdef DBG_STORE_LINE
114 #define memAlloc( x, i, a, l ) memAlloc( i, a, l )
116 #define memAlloc( x, i, a, l ) memAlloc( i, a )
118 #define memRelease( x, i, a ) memRelease( i, a )
119 #define memSeqOpen( x, a, b, c, d, e ) memSeqOpen( a, b, c, d, e )
120 #define memNumOpen( x ) memNumOpen()
121 #define memSeqNumOpen( x ) memSeqNumOpen()
123 #ifndef DBG_STORE_LINE
124 #define memAlloc( x, i, a, l ) memAlloc( x, i, a )
147 E_DsmMemErr memStart(
148 U16BIT memBlockSizeMin, U32BIT memHeapSizeMin, U16BIT memSeqOpenMin,
160 E_DsmMemErr memStop(
void *context );
166 MemHandle memAlloc(
void *context,
P_DsmSetup setup, U32BIT size,
int line );
171 U32BIT memRelease(
void *context,
P_DsmSetup setup, MemHandle memArea );
181 BOOLEAN memValidate(
void *memArea );
192 U32BIT memNumOpen(
void *context );
240 E_DsmMemErr memSeqOpen(
void *context,
241 MemHandle memArea, U32BIT offset, U32BIT length, BOOLEAN asyncAccess,
242 MemSeqRef *memAreaRef );
258 E_DsmMemErr memSeqOpenClone(
259 MemSeqRef memAreaRefOrig, MemSeqRef *memAreaRefClone );
268 void memSeqClose( MemSeqRef memAreaRef );
290 void memSeqAccessContig(
291 MemSeqRef memAreaRef, U8BIT **memPtr, U32BIT *numContigBytes );
293 void memSeqAccessCurrent(
294 MemSeqRef memAreaRef, U8BIT **memPtr, U32BIT *numContigBytes );
305 U32BIT memSeqNumOpen(
void *context );
315 void memSeqValidate( MemSeqRef memAreaRef, BOOLEAN *valid );
325 void memSeqSize( MemSeqRef memAreaRef, U32BIT *size );
336 E_DsmMemErr memSeqReadByte( MemSeqRef src, U8BIT *byte );
347 E_DsmMemErr memSeqWriteByte( U8BIT byte, MemSeqRef dest );
360 E_DsmMemErr memSeqRead(
361 MemSeqRef src, U8BIT *dest, U32BIT numBytes, U32BIT *numBytesActual );
374 E_DsmMemErr memSeqWrite(
375 U8BIT *src, MemSeqRef dest, U32BIT numBytes, U32BIT *numBytesActual );
388 E_DsmMemErr memSeqCopy(
389 MemSeqRef src, MemSeqRef dest, U32BIT numBytes, U32BIT *numBytesActual );
401 E_DsmMemErr memSeqCompContig(
402 U8BIT *contig, MemSeqRef memAreaRef, U32BIT numBytes, BOOLEAN *equal );
415 E_DsmMemErr memSeqCompMgd(
416 MemSeqRef memAreaRef1, MemSeqRef memAreaRef2, U32BIT numBytes,
428 E_DsmMemErr memSeqSetPosRel( MemSeqRef memAreaRef, S32BIT position );
438 E_DsmMemErr memSeqSetPosAbs( MemSeqRef memAreaRef, U32BIT position );
449 void memSeqReadPos( MemSeqRef memAreaRef, U32BIT *position );
System Wide Global Technical Data Type Definitions.