1 /* xbt/xbt_os_thread.h -- Thread portability layer */
3 /* Copyright (c) 2007-2019. The SimGrid Team. All rights reserved. */
5 /* This program is free software; you can redistribute it and/or modify it
6 * under the terms of the license (GNU LGPL) which comes with this package. */
8 #ifndef XBT_OS_THREAD_H
9 #define XBT_OS_THREAD_H
12 #include <xbt/function_types.h>
16 /** @addtogroup XBT_thread
17 * @brief Thread portability layer
19 * This section describes the thread portability layer. It defines types and functions very close to the pthread API,
20 * but it's portable to windows too.
25 /** @brief Thread mutex data type (opaque structure) */
26 typedef struct xbt_os_mutex_ *xbt_os_mutex_t;
27 XBT_PUBLIC xbt_os_mutex_t xbt_os_mutex_init(void);
28 XBT_PUBLIC void xbt_os_mutex_acquire(xbt_os_mutex_t mutex);
29 XBT_PUBLIC void xbt_os_mutex_release(xbt_os_mutex_t mutex);
30 XBT_PUBLIC void xbt_os_mutex_destroy(xbt_os_mutex_t mutex);
35 #endif /* XBT_OS_THREAD_H */