src/server/ucx/atomic.h

Sat, 06 Oct 2012 13:00:07 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 06 Oct 2012 13:00:07 +0200
changeset 36
450d2d5f4735
parent 33
96dbfe4f91e5
permissions
-rw-r--r--

server can reload configuration

33
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * File: atomic.h
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 * Author: olaf
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 *
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 * Created on 29. Mai 2012, 09:38
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 */
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 #ifndef ATOMIC_H
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 #define ATOMIC_H
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 #include <inttypes.h>
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 #ifdef __cplusplus
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 extern "C" {
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 #endif
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 void ucx_atomic_inc_8(volatile uint8_t *t);
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 void ucx_atomic_inc_16(volatile uint16_t *t);
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 void ucx_atomic_inc_32(volatile uint32_t *t);
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 void ucx_atomic_inc_64(volatile uint64_t *t);
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24
36
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
25 void ucx_atomic_dec_8(volatile uint8_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
26
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
27 void ucx_atomic_dec_16(volatile uint16_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
28
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
29 void ucx_atomic_dec_32(volatile uint32_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
30
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
31 void ucx_atomic_dec_64(volatile uint64_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
32
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
33 uint8_t ucx_atomic_dec_8_nv(volatile uint8_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
34
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
35 uint16_t ucx_atomic_dec_16_nv(volatile uint16_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
36
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
37 uint32_t ucx_atomic_dec_32_nv(volatile uint32_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
38
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
39 uint64_t ucx_atomic_dec_64_nv(volatile uint64_t *t);
450d2d5f4735 server can reload configuration
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 33
diff changeset
40
33
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 #ifdef __cplusplus
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
43 }
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
44 #endif
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
45
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
46 #endif /* ATOMIC_H */
96dbfe4f91e5 improved configuration loading
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
47

mercurial