Merge pull request #1322 from StephenMcConnel/bug23532
[mono.git] / mono / io-layer / shared.h
1 /*
2  * shared.h:  Shared memory handle, and daemon launching
3  *
4  * Author:
5  *      Dick Porter (dick@ximian.com)
6  *
7  * (C) 2002-2006 Novell, Inc.
8  */
9
10 #ifndef _WAPI_SHARED_H_
11 #define _WAPI_SHARED_H_
12
13 #include <mono/io-layer/wapi-private.h>
14
15 typedef enum {
16         WAPI_SHM_DATA,
17         WAPI_SHM_FILESHARE
18 } _wapi_shm_t;
19
20 extern gpointer _wapi_shm_attach (_wapi_shm_t type);
21 extern void _wapi_shm_detach (_wapi_shm_t type);
22 extern gboolean _wapi_shm_enabled_internal (void);
23 extern void _wapi_shm_semaphores_init (void);
24 extern void _wapi_shm_semaphores_remove (void);
25 extern int _wapi_shm_sem_lock (int sem);
26 extern int _wapi_shm_sem_trylock (int sem);
27 extern int _wapi_shm_sem_unlock (int sem);
28
29 static inline gboolean
30 _wapi_shm_enabled (void)
31 {
32 #ifdef DISABLE_SHARED_HANDLES
33         return FALSE;
34 #else
35         return _wapi_shm_enabled_internal ();
36 #endif
37 }
38
39 #endif /* _WAPI_SHARED_H_ */