18 #ifndef _LIB_COBALT_INTERNAL_H
19 #define _LIB_COBALT_INTERNAL_H
22 #include <cobalt/sys/cobalt.h>
23 #include <boilerplate/ancillaries.h>
26 extern void *cobalt_umm_private;
28 extern void *cobalt_umm_shared;
30 static inline int cobalt_is_relaxed(
void)
32 return cobalt_get_current_mode() &
XNRELAX;
36 struct cobalt_mutex_state *mutex_get_state(
struct cobalt_mutex_shadow *shadow)
38 if (shadow->attr.pshared)
39 return cobalt_umm_shared + shadow->state_offset;
41 return cobalt_umm_private + shadow->state_offset;
44 static inline atomic_t *mutex_get_ownerp(
struct cobalt_mutex_shadow *shadow)
46 return &mutex_get_state(shadow)->owner;
49 void cobalt_sigshadow_install_once(
void);
51 void cobalt_thread_init(
void);
53 int cobalt_thread_probe(pid_t pid);
55 void cobalt_print_init(
void);
57 void cobalt_print_init_atfork(
void);
59 void cobalt_ticks_init(
unsigned long long freq);
61 void cobalt_mutex_init(
void);
63 void cobalt_default_condattr_init(
void);
65 int cobalt_xlate_schedparam(
int policy,
66 const struct sched_param_ex *param_ex,
67 struct sched_param *param);
68 int cobalt_init(
void);
70 struct cobalt_featinfo;
72 void cobalt_check_features(
struct cobalt_featinfo *finfo);
74 extern struct sigaction __cobalt_orig_sigdebug;
Copyright © 2011 Gilles Chanteperdrix gilles.chanteperdrix@xenomai.org.
Definition: atomic.h:24
#define XNRELAX
Relaxed shadow thread (blocking bit)
Definition: thread.h:39