Yeppp!
Main Page
Modules
Data Structures
Examples
All
Data Structures
Functions
Variables
Typedefs
Enumerations
Enumerator
Groups
Pages
yepAtomic.h
1
/*
2
* Yeppp! library header
3
*
4
* This file is part of Yeppp! library and licensed under the New BSD license.
5
*
6
* Copyright (C) 2010-2012 Marat Dukhan
7
* Copyright (C) 2012-2013 Georgia Institute of Technology
8
* All rights reserved.
9
*
10
* Redistribution and use in source and binary forms, with or without
11
* modification, are permitted provided that the following conditions are met:
12
* * Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* * Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
* * Neither the name of the Georgia Institute of Technology nor the
18
* names of its contributors may be used to endorse or promote products
19
* derived from this software without specific prior written permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
22
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
23
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
24
* DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
25
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
26
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
27
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
28
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
30
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
*/
32
33
#pragma once
34
35
#include <yepPredefines.h>
36
#include <yepTypes.h>
37
40
#ifdef __cplusplus
41
extern
"C"
{
42
#endif
43
54
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_Swap_Relaxed_S32uS32u_S32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
*oldValue);
55
66
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_Swap_Acquire_S32uS32u_S32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
*oldValue);
67
78
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_Swap_Release_S32uS32u_S32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
*oldValue);
79
90
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_Swap_Ordered_S32uS32u_S32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
*oldValue);
91
103
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_CompareAndSwap_Relaxed_S32uS32uS32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
oldValue);
104
116
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_CompareAndSwap_Acquire_S32uS32uS32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
oldValue);
117
129
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_CompareAndSwap_Release_S32uS32uS32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
oldValue);
130
142
YEP_PUBLIC_SYMBOL
enum
YepStatus
YEPABI
yepAtomic_CompareAndSwap_Ordered_S32uS32uS32u
(
volatile
Yep32u
*value,
Yep32u
newValue,
Yep32u
oldValue);
143
144
#ifdef __cplusplus
145
}
146
#endif
C/C++
Java
Generated by