19 #ifndef _COBALT_POSIX_MONITOR_H 20 #define _COBALT_POSIX_MONITOR_H 22 #include <cobalt/kernel/synch.h> 23 #include <cobalt/uapi/monitor.h> 24 #include <xenomai/posix/syscall.h> 25 #include <xenomai/posix/process.h> 27 struct cobalt_resources;
28 struct cobalt_process;
30 struct cobalt_monitor {
34 struct cobalt_monitor_state *state;
35 struct list_head waiters;
38 struct cobalt_resnode resnode;
41 int __cobalt_monitor_wait(
struct cobalt_monitor_shadow __user *u_mon,
42 int event,
const struct timespec *ts,
45 COBALT_SYSCALL_DECL(monitor_init,
46 (
struct cobalt_monitor_shadow __user *u_monsh,
50 COBALT_SYSCALL_DECL(monitor_enter,
51 (
struct cobalt_monitor_shadow __user *u_monsh));
53 COBALT_SYSCALL_DECL(monitor_sync,
54 (
struct cobalt_monitor_shadow __user *u_monsh));
56 COBALT_SYSCALL_DECL(monitor_exit,
57 (
struct cobalt_monitor_shadow __user *u_monsh));
59 COBALT_SYSCALL_DECL(monitor_wait,
60 (
struct cobalt_monitor_shadow __user *u_monsh,
61 int event,
const struct timespec __user *u_ts,
64 COBALT_SYSCALL_DECL(monitor_destroy,
65 (
struct cobalt_monitor_shadow __user *u_monsh));
67 void cobalt_monitor_reclaim(
struct cobalt_resnode *node,