src/server/ucx/atomic.h

Sat, 15 Dec 2012 16:05:03 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 15 Dec 2012 16:05:03 +0100
changeset 37
360b9aabe17e
parent 36
450d2d5f4735
permissions
-rw-r--r--

added support for asynchronous safs

/* 
 * File:   atomic.h
 * Author: olaf
 *
 * Created on 29. Mai 2012, 09:38
 */

#ifndef ATOMIC_H
#define	ATOMIC_H

#include <inttypes.h>

#ifdef	__cplusplus
extern "C" {
#endif

void ucx_atomic_inc_8(volatile uint8_t *t);

void ucx_atomic_inc_16(volatile uint16_t *t);

void ucx_atomic_inc_32(volatile uint32_t *t);

void ucx_atomic_inc_64(volatile uint64_t *t);

void ucx_atomic_dec_8(volatile uint8_t *t);

void ucx_atomic_dec_16(volatile uint16_t *t);

void ucx_atomic_dec_32(volatile uint32_t *t);

void ucx_atomic_dec_64(volatile uint64_t *t);

uint8_t ucx_atomic_dec_8_nv(volatile uint8_t *t);

uint16_t ucx_atomic_dec_16_nv(volatile uint16_t *t);

uint32_t ucx_atomic_dec_32_nv(volatile uint32_t *t);

uint64_t ucx_atomic_dec_64_nv(volatile uint64_t *t);


#ifdef	__cplusplus
}
#endif

#endif	/* ATOMIC_H */

mercurial