EPICS Base  7.0.6.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
epicsSpin.h
1 /*************************************************************************\
2 * Copyright (c) 2012 Helmholtz-Zentrum Berlin
3 * fuer Materialien und Energie GmbH.
4 * Copyright (c) 2012 ITER Organization.
5 * SPDX-License-Identifier: EPICS
6 * EPICS BASE is distributed subject to a Software License Agreement found
7 * in file LICENSE that is included with this distribution.
8 \*************************************************************************/
9 
10 #ifndef epicsSpinh
11 #define epicsSpinh
12 
13 #include "libComAPI.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 typedef struct epicsSpin *epicsSpinId;
20 
21 LIBCOM_API epicsSpinId epicsSpinCreate(void);
22 LIBCOM_API epicsSpinId epicsSpinMustCreate(void);
23 LIBCOM_API void epicsSpinDestroy(epicsSpinId);
24 
25 LIBCOM_API void epicsSpinLock(epicsSpinId);
26 LIBCOM_API int epicsSpinTryLock(epicsSpinId);
27 LIBCOM_API void epicsSpinUnlock(epicsSpinId);
28 
29 #ifdef __cplusplus
30 }
31 #endif
32 
33 #endif /* epicsSpinh */