oro_arch_interface.h
Go to the documentation of this file.
1 /***************************************************************************
2  tag: Philippe Hamelin Wed Apr 13 13:02:01 2011 -0400 oro_arch_interface.h
3 
4  oro_arch_interface.h - description
5  -------------------
6  begin : Wed Apr 13 2011
7  copyright : (C) 2005 Peter Soetens
8  copyright : (C) 2011 Philippe Hamelin
9  email : philippe.hamelin@gmail.com
10 
11  ***************************************************************************
12  * This library is free software; you can redistribute it and/or *
13  * modify it under the terms of the GNU General Public *
14  * License as published by the Free Software Foundation; *
15  * version 2 of the License. *
16  * *
17  * As a special exception, you may use this file as part of a free *
18  * software library without restriction. Specifically, if other files *
19  * instantiate templates or use macros or inline functions from this *
20  * file, or you compile this file and link it with other files to *
21  * produce an executable, this file does not by itself cause the *
22  * resulting executable to be covered by the GNU General Public *
23  * License. This exception does not however invalidate any other *
24  * reasons why the executable file might be covered by the GNU General *
25  * Public License. *
26  * *
27  * This library is distributed in the hope that it will be useful, *
28  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
29  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
30  * General Public License for more details. *
31  * *
32  * You should have received a copy of the GNU General Public *
33  * License along with this library; if not, write to the Free Software *
34  * Foundation, Inc., 59 Temple Place, *
35  * Suite 330, Boston, MA 02111-1307 USA *
36  * *
37  ***************************************************************************/
38 
39 
40 #ifndef __ORO_ARCH_INTERFACE__
41 #define __ORO_ARCH_INTERFACE__
42 
64 struct oro_atomic_t_interface;
65 typedef struct oro_atomic_t_interface oro_atomic_t;
66 
71 void ORO_ATOMIC_SETUP(oro_atomic_t* a, int n);
72 
78 
84 
89 void oro_atomic_set(oro_atomic_t* a, int n);
90 
94 void oro_atomic_add(oro_atomic_t *a, int n);
95 
99 int oro_atomic_add_return(oro_atomic_t *a, int n);
100 
104 void oro_atomic_sub(int n, oro_atomic_t *a, int n);
105 
109 int oro_atomic_sub_return(int n, oro_atomic_t *a, int n);
110 
115 
120 
125 
130 
135 
140 
145 
154 int oro_cmpxchg(void volatile* ptr, unsigned long o, unsigned long n);
155 
156 
157 #endif // __ORO_ARCH_INTERFACE__
int oro_atomic_inc_return(oro_atomic_t *a)
int oro_atomic_inc_and_test(oro_atomic_t *a)
int oro_atomic_sub_return(int n, oro_atomic_t *a, int n)
int oro_atomic_read(oro_atomic_t *a)
void oro_atomic_inc(oro_atomic_t *a)
void ORO_ATOMIC_SETUP(oro_atomic_t *a, int n)
void ORO_ATOMIC_CLEANUP(oro_atomic_t *a)
int oro_cmpxchg(void volatile *ptr, unsigned long o, unsigned long n)
void oro_atomic_sub(int n, oro_atomic_t *a, int n)
int oro_atomic_dec_and_test(oro_atomic_t *a)
int oro_atomic_sub_and_test(oro_atomic_t *a, int n)
void oro_atomic_set(oro_atomic_t *a, int n)
int oro_atomic_dec_return(oro_atomic_t *a)
void oro_atomic_dec(oro_atomic_t *a)
int oro_atomic_add_return(oro_atomic_t *a, int n)
void oro_atomic_add(oro_atomic_t *a, int n)


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:34