ck_pr_dec3
Atomic decrement operations
Usage
#include <ck_pr.h>
void
ck_pr_dec_ptr(void *target);
void
ck_pr_dec_ptr_zero(void *target, bool *z);
bool
ck_pr_dec_ptr_is_zero(void *target);
void
ck_pr_dec_double(double *target);
void
ck_pr_dec_double_zero(double *target, bool *z);
bool
ck_pr_dec_double_is_zero(double *target);
void
ck_pr_dec_char(char *target);
void
ck_pr_dec_char_zero(char *target, bool *z);
bool
ck_pr_dec_char_is_zero(char *target);
void
ck_pr_dec_uint(unsigned int *target);
void
ck_pr_dec_uint_zero(unsigned int *target, bool *z);
bool
ck_pr_dec_uint_is_zero(unsigned int *target);
void
ck_pr_dec_int(int *target);
void
ck_pr_dec_int_zero(int *target, bool *z);
bool
ck_pr_dec_int_is_zero(int *target);
void
ck_pr_dec_64(uint64_t *target);
void
ck_pr_dec_64_zero(uint64_t *target, bool *z);
bool
ck_pr_dec_64_is_zero(uint64_t *target);
void
ck_pr_dec_32(uint32_t *target);
void
ck_pr_dec_32_zero(uint32_t *target, bool *z);
bool
ck_pr_dec_32_is_zero(uint32_t *target);
void
ck_pr_dec_16(uint16_t *target);
void
ck_pr_dec_16_zero(uint16_t *target, bool *z);
bool
ck_pr_dec_16_is_zero(uint16_t *target);
void
ck_pr_dec_8(uint8_t *target);
void
ck_pr_dec_8_zero(uint8_t *target, bool *z);
bool
ck_pr_dec_8_is_zero(uint8_t *target);
Library
Concurrency Kit (libck, -lck)
Overview
The ck_pr_dec(3) family of functions atomically decrement the value pointed to by target.
Return values
The ck_pr_dec_zero family of functions set the value pointed to by z to true if the result of the decrement operation was 0. They set the value pointed to by z to false otherwise. The ck_pr_dec_is_zero family of function return true if the result of the decrement operation was 0 and false otherwise.
Releases
5 releases since Debian 8 (Jessie); the text changed 2 times.