Atlas Runtime
internal_api.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define NVM_LOG(var, size)
 
#define NVM_LOCK(lock)
 
#define NVM_UNLOCK(lock)
 
#define NVM_RWLOCK_RDLOCK(rwlock)
 
#define NVM_RWLOCK_WRLOCK(rwlock)
 
#define NVM_RWLOCK_UNLOCK(rwlock)
 
#define NVM_STR(var, val, size)
 
#define NVM_STR2(var, val, size)
 
#define NVM_MEMSET(s, c, n)
 
#define NVM_MEMCPY(dst, src, n)
 
#define NVM_MEMMOVE(dst, src, n)
 
#define NVM_STRCPY(dst, src)
 
#define NVM_STRNCPY(dst, src, n)
 
#define NVM_STRCAT(dst, src)
 
#define NVM_STRNCAT(dst, src, n)
 

Functions

void nvm_acquire (void *lock_address)
 
void nvm_rwlock_rdlock (void *lock_address)
 
void nvm_rwlock_wrlock (void *lock_address)
 
void nvm_release (void *lock_address)
 
void nvm_rwlock_unlock (void *lock_address)
 
void nvm_store (void *addr, size_t size)
 
void nvm_log_alloc (void *addr)
 
void nvm_log_free (void *addr)
 
void nvm_memset (void *addr, size_t sz)
 
void nvm_memcpy (void *dst, size_t sz)
 
void nvm_memmove (void *dst, size_t sz)
 
void nvm_strcpy (char *dst, size_t sz)
 
void nvm_strcat (char *dst, size_t sz)
 
size_t nvm_strlen (char *dst)
 
void nvm_barrier (void *)
 

Macro Definition Documentation

#define NVM_LOCK (   lock)
Value:
{ \
pthread_mutex_lock(&(lock)); \
nvm_acquire((void*)&(lock)); \
} \
void nvm_acquire(void *lock_address)
Definition: log_mgr_api.cpp:42
#define NVM_LOG (   var,
  size 
)
Value:
{ \
nvm_store((void*)&(var), (size)); \
} \
void nvm_store(void *addr, size_t size)
Definition: log_mgr_api.cpp:86
int size(COW_AL *cal)
Definition: cow_array_list.c:183
#define NVM_MEMCPY (   dst,
  src,
 
)
Value:
{ \
nvm_memcpy((void *)(dst), (size_t)(n)); \
memcpy(dst, src, n); \
} \
void nvm_memcpy(void *dst, size_t sz)
Definition: log_mgr_api.cpp:98
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
#define NVM_MEMMOVE (   dst,
  src,
 
)
Value:
{ \
nvm_memmove((void *)(dst), (size_t)(n)); \
memmove(dst, src, n); \
} \
void nvm_memmove(void *dst, size_t sz)
Definition: log_mgr_api.cpp:104
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
#define NVM_MEMSET (   s,
  c,
 
)
Value:
{ \
nvm_memset((void *)(s), (size_t)(n)); \
memset(s, c, n); \
} \
void nvm_memset(void *addr, size_t sz)
Definition: log_mgr_api.cpp:92
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
#define NVM_RWLOCK_RDLOCK (   rwlock)
Value:
{ \
pthread_rwlock_rdlock(&(rwlock)); \
nvm_rwlock_rdlock((void *)&(rwlock)); \
} \
void nvm_rwlock_rdlock(void *lock_address)
Definition: log_mgr_api.cpp:54
#define NVM_RWLOCK_UNLOCK (   rwlock)
Value:
{ \
nvm_rwlock_unlock((void *)&(rwlock)); \
pthread_rwlock_unlock(&(rwlock)); \
} \
void nvm_rwlock_unlock(void *lock_address)
Definition: log_mgr_api.cpp:66
#define NVM_RWLOCK_WRLOCK (   rwlock)
Value:
{ \
pthread_rwlock_wrlock(&(rwlock)); \
nvm_rwlock_wrlock((void *)&(rwlock)); \
} \
void nvm_rwlock_wrlock(void *lock_address)
Definition: log_mgr_api.cpp:60
#define NVM_STR (   var,
  val,
  size 
)
Value:
{ \
nvm_store((void*)&(var),((size)*8)); \
var=val; \
} \
#define NVM_FLUSH_ACQ_COND(p)
Definition: atlas_api.h:125
void nvm_store(void *addr, size_t size)
Definition: log_mgr_api.cpp:86
int size(COW_AL *cal)
Definition: cow_array_list.c:183
#define NVM_STR2 (   var,
  val,
  size 
)
Value:
{ \
nvm_store((void*)&(var),(size)); \
var=val; \
} \
#define NVM_FLUSH_ACQ_COND(p)
Definition: atlas_api.h:125
void nvm_store(void *addr, size_t size)
Definition: log_mgr_api.cpp:86
int size(COW_AL *cal)
Definition: cow_array_list.c:183
#define NVM_STRCAT (   dst,
  src 
)
Value:
{ \
size_t sz=nvm_strlen(dst); \
nvm_strcat((void *)(dst),(size_t)(sz)); \
strcat(dst, src); \
} \
size_t nvm_strlen(char *dst)
Definition: log_mgr_api.cpp:110
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
void nvm_strcat(char *dst, size_t sz)
Definition: log_mgr_api.cpp:121
#define NVM_STRCPY (   dst,
  src 
)
Value:
{ \
size_t sz=nvm_strlen(dst); \
nvm_strcpy((void *)(dst),(size_t)(sz)); \
strcpy(dst, src); \
} \
size_t nvm_strlen(char *dst)
Definition: log_mgr_api.cpp:110
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
void nvm_strcpy(char *dst, size_t sz)
Definition: log_mgr_api.cpp:115
#define NVM_STRNCAT (   dst,
  src,
 
)
Value:
{ \
size_t sz=nvm_strlen(dst); \
nvm_strcat((void *)(dst),(size_t)(sz)); \
strncat(dst, src, n); \
} \
size_t nvm_strlen(char *dst)
Definition: log_mgr_api.cpp:110
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
void nvm_strcat(char *dst, size_t sz)
Definition: log_mgr_api.cpp:121
#define NVM_STRNCPY (   dst,
  src,
 
)
Value:
{ \
nvm_strcpy((void *)(dst),(size_t)(n)); \
strncpy(dst, src, n); \
} \
#define NVM_PSYNC_ACQ_COND(p1, s)
Definition: atlas_api.h:142
void nvm_strcpy(char *dst, size_t sz)
Definition: log_mgr_api.cpp:115
#define NVM_UNLOCK (   lock)
Value:
{ \
nvm_release((void*)&(lock)); \
pthread_mutex_unlock(&(lock)); \
} \
void nvm_release(void *lock_address)
Definition: log_mgr_api.cpp:48

Function Documentation

void nvm_acquire ( void *  lock_address)
void nvm_barrier ( void *  )
void nvm_log_alloc ( void *  addr)
void nvm_log_free ( void *  addr)
void nvm_memcpy ( void *  dst,
size_t  sz 
)
void nvm_memmove ( void *  dst,
size_t  sz 
)
void nvm_memset ( void *  addr,
size_t  sz 
)
void nvm_release ( void *  lock_address)
void nvm_rwlock_rdlock ( void *  lock_address)
void nvm_rwlock_unlock ( void *  lock_address)
void nvm_rwlock_wrlock ( void *  lock_address)
void nvm_store ( void *  addr,
size_t  size 
)
void nvm_strcat ( char *  dst,
size_t  sz 
)
void nvm_strcpy ( char *  dst,
size_t  sz 
)
size_t nvm_strlen ( char *  dst)