]> Pileus Git - ~andy/linux/blob - drivers/staging/csr/csr_framework_ext_types.h
Staging: csr: remove __cplusplus nonsense from the .h files
[~andy/linux] / drivers / staging / csr / csr_framework_ext_types.h
1 #ifndef CSR_FRAMEWORK_EXT_TYPES_H__
2 #define CSR_FRAMEWORK_EXT_TYPES_H__
3 /*****************************************************************************
4
5         (c) Cambridge Silicon Radio Limited 2010
6         All rights reserved and confidential information of CSR
7
8         Refer to LICENSE.txt included with this source for details
9         on the license terms.
10
11 *****************************************************************************/
12
13 #ifdef __KERNEL__
14 #include <linux/kthread.h>
15 #include <linux/semaphore.h>
16 #else
17 #include <pthread.h>
18 #endif
19
20 #ifdef __KERNEL__
21
22 struct CsrEvent {
23         /* wait_queue for waking the kernel thread */
24         wait_queue_head_t wakeup_q;
25         unsigned int      wakeup_flag;
26 };
27
28 typedef struct CsrEvent CsrEventHandle;
29 typedef struct semaphore CsrMutexHandle;
30
31 #else /* __KERNEL __ */
32
33 struct CsrEvent {
34         pthread_cond_t  event;
35         pthread_mutex_t mutex;
36         u32       eventBits;
37 };
38
39 typedef struct CsrEvent CsrEventHandle;
40 typedef pthread_mutex_t CsrMutexHandle;
41
42 #endif /* __KERNEL__ */
43
44 #endif