ARGOBOTS
abti_mutex_attr.h
Go to the documentation of this file.
1 /* -*- Mode: C; c-basic-offset:4 ; indent-tabs-mode:nil ; -*- */
2 /*
3  * See COPYRIGHT in top-level directory.
4  */
5 
6 #ifndef ABTI_MUTEX_ATTR_H_INCLUDED
7 #define ABTI_MUTEX_ATTR_H_INCLUDED
8 
9 /* Inlined functions for mutex attributes */
10 
11 static inline ABTI_mutex_attr *ABTI_mutex_attr_get_ptr(ABT_mutex_attr attr)
12 {
13 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
14  ABTI_mutex_attr *p_attr;
15  if (attr == ABT_MUTEX_ATTR_NULL) {
16  p_attr = NULL;
17  } else {
18  p_attr = (ABTI_mutex_attr *)attr;
19  }
20  return p_attr;
21 #else
22  return (ABTI_mutex_attr *)attr;
23 #endif
24 }
25 
26 static inline ABT_mutex_attr ABTI_mutex_attr_get_handle(ABTI_mutex_attr *p_attr)
27 {
28 #ifndef ABT_CONFIG_DISABLE_ERROR_CHECK
29  ABT_mutex_attr h_attr;
30  if (p_attr == NULL) {
31  h_attr = ABT_MUTEX_ATTR_NULL;
32  } else {
33  h_attr = (ABT_mutex_attr)p_attr;
34  }
35  return h_attr;
36 #else
37  return (ABT_mutex_attr)p_attr;
38 #endif
39 }
40 
41 #define ABTI_mutex_attr_copy(p_dest, p_src) \
42  memcpy(p_dest, p_src, sizeof(ABTI_mutex_attr))
43 
44 #endif /* ABTI_MUTEX_ATTR_H_INCLUDED */
#define ABT_MUTEX_ATTR_NULL
Definition: abt.h:349
struct ABT_mutex_attr_opaque * ABT_mutex_attr
Definition: abt.h:295