pcloudcc-lneely/pclsync/pmem.h

29 lines
843 B
C

#ifndef __PMEM_H
#define __PMEM_H
#include <stddef.h>
#include <stdint.h>
typedef enum {
PMEM_SUBSYS_API,
PMEM_SUBSYS_CACHE,
PMEM_SUBSYS_UPLOAD,
PMEM_SUBSYS_DOWNLOAD,
PMEM_SUBSYS_SYNC,
PMEM_SUBSYS_OTHER
} pmem_subsystem_t;
void *pmem_mmap(size_t size);
void *pmem_mmap_safe(size_t size);
int pmem_munmap(void *ptr, size_t size);
int pmem_mlock(void *ptr, size_t size);
int pmem_munlock(void *ptr, size_t size);
void pmem_reset(void *ptr, size_t size);
void *pmem_calloc_safe(size_t nmemb, size_t size);
void *pmem_malloc(pmem_subsystem_t subsystem, size_t size);
void pmem_free(pmem_subsystem_t subsystem, void *ptr);
void *pmem_realloc(pmem_subsystem_t subsystem, void *ptr, size_t size);
void *pmem_malloc_array(pmem_subsystem_t subsystem, size_t nmemb, size_t size);
size_t pmem_get_stats(pmem_subsystem_t subsystem);
#endif