31#ifndef CPL_VIRTUAL_MEM_INCLUDED
32#define CPL_VIRTUAL_MEM_INCLUDED
92 const void* pPageToBeEvicted,
169 size_t nPageSizeHint,
170 int bSingleThreadUsage,
215 void *pCbkUserData );
376 void* pAddr,
size_t nSize,
int bWriteOp);
#define CPL_C_END
Definition: cpl_port.h:337
#define CPL_C_START
Definition: cpl_port.h:335
int CPLIsVirtualMemFileMapAvailable(void)
Definition: cpl_virtualmem.cpp:2151
CPLVirtualMem * CPLVirtualMemFileMapNew(VSILFILE *fp, vsi_l_offset nOffset, vsi_l_offset nLength, CPLVirtualMemAccessMode eAccessMode, CPLVirtualMemFreeUserData pfnFreeUserData, void *pCbkUserData)
Definition: cpl_virtualmem.cpp:2010
size_t CPLVirtualMemGetSize(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2233
CPLVirtualMem * CPLVirtualMemNew(size_t nSize, size_t nCacheSize, size_t nPageSizeHint, int bSingleThreadUsage, CPLVirtualMemAccessMode eAccessMode, CPLVirtualMemCachePageCbk pfnCachePage, CPLVirtualMemUnCachePageCbk pfnUnCachePage, CPLVirtualMemFreeUserData pfnFreeUserData, void *pCbkUserData)
Definition: cpl_virtualmem.cpp:1960
void(* CPLVirtualMemCachePageCbk)(CPLVirtualMem *ctxt, size_t nOffset, void *pPageToFill, size_t nToFill, void *pUserData)
Definition: cpl_virtualmem.h:74
void CPLVirtualMemManagerTerminate(void)
Definition: cpl_virtualmem.cpp:1987
void CPLVirtualMemPin(CPLVirtualMem *ctxt, void *pAddr, size_t nSize, int bWriteOp)
Definition: cpl_virtualmem.cpp:1981
int CPLVirtualMemIsFileMapping(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2206
void * CPLVirtualMemGetAddr(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2197
void CPLVirtualMemUnDeclareThread(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:1979
void(* CPLVirtualMemUnCachePageCbk)(CPLVirtualMem *ctxt, size_t nOffset, const void *pPageToBeEvicted, size_t nToBeEvicted, void *pUserData)
Definition: cpl_virtualmem.h:90
void(* CPLVirtualMemFreeUserData)(void *pUserData)
Definition: cpl_virtualmem.h:99
CPLVirtualMem * CPLVirtualMemDerivedNew(CPLVirtualMem *pVMemBase, vsi_l_offset nOffset, vsi_l_offset nSize, CPLVirtualMemFreeUserData pfnFreeUserData, void *pCbkUserData)
Definition: cpl_virtualmem.cpp:2251
CPLVirtualMemAccessMode CPLVirtualMemGetAccessMode(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2215
void CPLVirtualMemDeclareThread(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:1977
int CPLVirtualMemIsAccessThreadSafe(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2242
void CPLVirtualMemFree(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2164
CPLVirtualMemAccessMode
Definition: cpl_virtualmem.h:103
@ VIRTUALMEM_READONLY_ENFORCED
Definition: cpl_virtualmem.h:109
@ VIRTUALMEM_READWRITE
Definition: cpl_virtualmem.h:112
@ VIRTUALMEM_READONLY
Definition: cpl_virtualmem.h:106
size_t CPLVirtualMemGetPageSize(CPLVirtualMem *ctxt)
Definition: cpl_virtualmem.cpp:2224
size_t CPLGetPageSize(void)
Definition: cpl_virtualmem.cpp:2138
FILE VSILFILE
Definition: cpl_vsi.h:155
GUIntBig vsi_l_offset
Definition: cpl_vsi.h:139
Definition: cpl_virtualmem.cpp:77