1ck_pr_faa(3) BSD Library Functions Manual ck_pr_faa(3)
2
4 ck_pr_faa_ptr, ck_pr_faa_double, ck_pr_faa_char, ck_pr_faa_uint,
5 ck_pr_faa_int, ck_pr_faa_64, ck_pr_faa_32, ck_pr_faa_16, ck_pr_faa_8 —
6 atomic fetch-and-add operations
7
9 Concurrency Kit (libck, -lck)
10
12 #include <ck_pr.h>
13
14 uintptr_t
15 ck_pr_faa_ptr(void *target, uintptr_t delta);
16
17 double
18 ck_pr_faa_double(double *target, double delta);
19
20 char
21 ck_pr_faa_char(char *target, char delta);
22
23 unsigned int
24 ck_pr_faa_uint(unsigned int *target, unsigned int delta);
25
26 int
27 ck_pr_faa_int(int *target, int delta);
28
29 uint64_t
30 ck_pr_faa_64(uint64_t *target, uint64_t delta);
31
32 uint32_t
33 ck_pr_faa_32(uint32_t *target, uint32_t delta);
34
35 uint16_t
36 ck_pr_faa_16(uint16_t *target, uint16_t delta);
37
38 uint8_t
39 ck_pr_faa_8(uint8_t *target, uint8_t delta);
40
42 The ck_pr_faa(3) family of functions atomically fetch the value pointed
43 to by target and add the value specified by delta to the value pointed to
44 by target.
45
47 This function returns the value pointed to by target at the time of oper‐
48 ation invocation before the addition operation is applied.
49
51 ck_pr_fence_load(3), ck_pr_fence_load_depends(3), ck_pr_fence_store(3),
52 ck_pr_fence_memory(3), ck_pr_load(3), ck_pr_store(3), ck_pr_fas(3),
53 ck_pr_inc(3), ck_pr_dec(3), ck_pr_neg(3), ck_pr_not(3), ck_pr_add(3),
54 ck_pr_sub(3), ck_pr_and(3), ck_pr_or(3), ck_pr_xor(3), ck_pr_cas(3),
55 ck_pr_btc(3), ck_pr_bts(3), ck_pr_btr(3)
56
57 Additional information available at http://concurrencykit.org/
58
59 April 7, 2013