kinetic-c  v0.12.0
Seagate Kinetic Protocol Client Library for C
kinetic_semaphore.h
Go to the documentation of this file.
1 /*
2 * kinetic-c
3 * Copyright (C) 2015 Seagate Technology.
4 *
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation; either version 2
8 * of the License, or (at your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program; if not, write to the Free Software
17 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 *
19 */
20 #ifndef _KINETIC_SEMAPHORE_H
21 #define _KINETIC_SEMAPHORE_H
22 
23 #include <stdbool.h>
24 
25 typedef struct _KineticSemaphore KineticSemaphore;
26 
34 KineticSemaphore * KineticSemaphore_Create(void);
35 
44 void KineticSemaphore_Signal(KineticSemaphore * sem);
45 
53 bool KineticSemaphore_CheckSignaled(KineticSemaphore * sem);
54 
63 bool KineticSemaphore_DestroyIfSignaled(KineticSemaphore * sem);
64 
73 void KineticSemaphore_WaitForSignalAndDestroy(KineticSemaphore * sem);
74 
75 #endif // _KINETIC_SEMAPHORE_H
76 
bool KineticSemaphore_DestroyIfSignaled(KineticSemaphore *sem)
Destorys the KineticSemaphore if it has been signaled.
void KineticSemaphore_WaitForSignalAndDestroy(KineticSemaphore *sem)
Blocks until the given semaphore is signaled.
bool KineticSemaphore_CheckSignaled(KineticSemaphore *sem)
Reports whether the KineticSemaphore has been signaled.
void KineticSemaphore_Signal(KineticSemaphore *sem)
Signals KineticSemaphore.
KineticSemaphore * KineticSemaphore_Create(void)
Creates a KineticSemaphore.