18#ifndef _COBALT_POSIX_SYSCALL32_H
19#define _COBALT_POSIX_SYSCALL32_H
21#include <cobalt/kernel/compat.h>
23struct cobalt_mutex_shadow;
24struct cobalt_event_shadow;
25struct cobalt_cond_shadow;
26struct cobalt_sem_shadow;
27struct cobalt_monitor_shadow;
29COBALT_SYSCALL32emu_DECL(thread_setschedprio,
32 __u32 __user *u_winoff,
33 int __user *u_promoted));
35COBALT_SYSCALL32emu_DECL(clock_getres,
37 struct old_timespec32 __user *u_ts));
39COBALT_SYSCALL32emu_DECL(clock_gettime,
41 struct old_timespec32 __user *u_ts));
43COBALT_SYSCALL32emu_DECL(clock_settime,
45 const struct old_timespec32 __user *u_ts));
47COBALT_SYSCALL32emu_DECL(clock_adjtime,
49 struct old_timex32 __user *u_tx));
51COBALT_SYSCALL32emu_DECL(clock_nanosleep,
52 (clockid_t clock_id,
int flags,
53 const struct old_timespec32 __user *u_rqt,
54 struct old_timespec32 __user *u_rmt));
56COBALT_SYSCALL32emu_DECL(mutex_timedlock,
57 (
struct cobalt_mutex_shadow __user *u_mx,
58 const struct old_timespec32 __user *u_ts));
60COBALT_SYSCALL32emu_DECL(cond_wait_prologue,
61 (
struct cobalt_cond_shadow __user *u_cnd,
62 struct cobalt_mutex_shadow __user *u_mx,
65 struct old_timespec32 __user *u_ts));
67COBALT_SYSCALL32emu_DECL(
mq_open,
68 (
const char __user *u_name,
int oflags,
69 mode_t mode,
struct compat_mq_attr __user *u_attr));
72 (mqd_t uqd,
struct compat_mq_attr __user *u_attr));
74COBALT_SYSCALL32emu_DECL(mq_timedsend,
75 (mqd_t uqd,
const void __user *u_buf,
size_t len,
77 const struct old_timespec32 __user *u_ts));
79COBALT_SYSCALL32emu_DECL(mq_timedreceive,
80 (mqd_t uqd,
void __user *u_buf,
81 compat_ssize_t __user *u_len,
82 unsigned int __user *u_prio,
83 const struct old_timespec32 __user *u_ts));
85COBALT_SYSCALL32emu_DECL(mq_timedreceive64,
86 (mqd_t uqd,
void __user *u_buf,
87 compat_ssize_t __user *u_len,
88 unsigned int __user *u_prio,
89 const struct __kernel_timespec __user *u_ts));
92 (mqd_t fd,
const struct compat_sigevent *__user u_cev));
96 const struct compat_sigevent __user *u_sev,
97 timer_t __user *u_tm));
99COBALT_SYSCALL32emu_DECL(timer_settime,
100 (timer_t tm,
int flags,
101 const struct old_itimerspec32 __user *u_newval,
102 struct old_itimerspec32 __user *u_oldval));
104COBALT_SYSCALL32emu_DECL(timer_gettime,
106 struct old_itimerspec32 __user *u_val));
108COBALT_SYSCALL32emu_DECL(timerfd_settime,
110 const struct old_itimerspec32 __user *new_value,
111 struct old_itimerspec32 __user *old_value));
113COBALT_SYSCALL32emu_DECL(timerfd_gettime,
114 (
int fd,
struct old_itimerspec32 __user *value));
116COBALT_SYSCALL32emu_DECL(sigwait,
117 (
const compat_sigset_t __user *u_set,
120COBALT_SYSCALL32emu_DECL(sigtimedwait,
121 (
const compat_sigset_t __user *u_set,
122 struct compat_siginfo __user *u_si,
123 const struct old_timespec32 __user *u_timeout));
125COBALT_SYSCALL32emu_DECL(sigtimedwait64,
126 (
const compat_sigset_t __user *u_set,
127 struct compat_siginfo __user *u_si,
128 const struct __kernel_timespec __user *u_timeout));
130COBALT_SYSCALL32emu_DECL(sigwaitinfo,
131 (
const compat_sigset_t __user *u_set,
132 struct compat_siginfo __user *u_si));
134COBALT_SYSCALL32emu_DECL(sigpending,
135 (compat_old_sigset_t __user *u_set));
137COBALT_SYSCALL32emu_DECL(sigqueue,
139 const union compat_sigval __user *u_value));
141COBALT_SYSCALL32emu_DECL(monitor_wait,
142 (
struct cobalt_monitor_shadow __user *u_mon,
143 int event,
const struct old_timespec32 __user *u_ts,
146COBALT_SYSCALL32emu_DECL(event_wait,
147 (
struct cobalt_event_shadow __user *u_event,
149 unsigned int __user *u_bits_r,
150 int mode,
const struct old_timespec32 __user *u_ts));
152COBALT_SYSCALL32emu_DECL(select,
154 compat_fd_set __user *u_rfds,
155 compat_fd_set __user *u_wfds,
156 compat_fd_set __user *u_xfds,
157 struct old_timeval32 __user *u_tv));
159COBALT_SYSCALL32emu_DECL(recvmsg,
160 (
int fd,
struct compat_msghdr __user *umsg,
163COBALT_SYSCALL32emu_DECL(recvmmsg,
164 (
int fd,
struct compat_mmsghdr __user *u_msgvec,
166 unsigned int flags,
struct old_timespec32 *u_timeout));
168COBALT_SYSCALL32emu_DECL(recvmmsg64,
169 (
int fd,
struct compat_mmsghdr __user *u_msgvec,
172 struct __kernel_timespec *u_timeout));
174COBALT_SYSCALL32emu_DECL(sendmsg,
175 (
int fd,
struct compat_msghdr __user *umsg,
178COBALT_SYSCALL32emu_DECL(sendmmsg,
179 (
int fd,
struct compat_mmsghdr __user *u_msgvec,
unsigned int vlen,
180 unsigned int flags));
182COBALT_SYSCALL32emu_DECL(mmap,
184 struct compat_rtdm_mmap_request __user *u_rma,
185 compat_uptr_t __user *u_addrp));
187COBALT_SYSCALL32emu_DECL(backtrace,
188 (
int nr, compat_ulong_t __user *u_backtrace,
191COBALT_SYSCALL32emu_DECL(sem_open,
192 (compat_uptr_t __user *u_addrp,
193 const char __user *u_name,
194 int oflags, mode_t mode,
unsigned int value));
196COBALT_SYSCALL32emu_DECL(sem_timedwait,
197 (
struct cobalt_sem_shadow __user *u_sem,
198 const struct old_timespec32 __user *u_ts));
int mq_notify(mqd_t q, const struct sigevent *evp))
Enable notification on message arrival.
Definition mq.c:584
int mq_getattr(mqd_t qd, struct mq_attr *attr))
Get message queue attributes.
Definition mq.c:221
mqd_t mq_open(const char *name, int oflags,...))
Open a message queue.
Definition mq.c:103
int timer_create(clockid_t clockid, const struct sigevent *__restrict__ evp, timer_t *__restrict__ timerid))
Create a timer.
Definition timer.c:75