EPICS Base  7.0.8.1
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
epicsSpin.h
Go to the documentation of this file.
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 
18 #ifndef epicsSpinh
19 #define epicsSpinh
20 
21 #include "libComAPI.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 
29 typedef struct epicsSpin *epicsSpinId;
30 
38 LIBCOM_API epicsSpinId epicsSpinCreate(void);
39 
45 LIBCOM_API epicsSpinId epicsSpinMustCreate(void);
46 
53 LIBCOM_API void epicsSpinDestroy(epicsSpinId lockId);
54 
61 LIBCOM_API void epicsSpinLock(epicsSpinId lockId);
62 
73 LIBCOM_API int epicsSpinTryLock(epicsSpinId lockId);
74 
81 LIBCOM_API void epicsSpinUnlock(epicsSpinId lockId);
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* epicsSpinh */
LIBCOM_API void epicsSpinLock(epicsSpinId lockId)
Acquires the spin lock.
LIBCOM_API int epicsSpinTryLock(epicsSpinId lockId)
Tries to acquire the spin lock.
LIBCOM_API epicsSpinId epicsSpinCreate(void)
Creates a spin lock.
struct epicsSpin * epicsSpinId
Definition: epicsSpin.h:29
LIBCOM_API epicsSpinId epicsSpinMustCreate(void)
Creates a spin lock.
LIBCOM_API void epicsSpinDestroy(epicsSpinId lockId)
Destroys spin lock.
LIBCOM_API void epicsSpinUnlock(epicsSpinId lockId)
Releases spin lock.