18#ifndef _COBALT_KERNEL_COMPAT_H
19#define _COBALT_KERNEL_COMPAT_H
21#ifdef CONFIG_XENO_ARCH_SYS3264
23#include <linux/compat.h>
24#include <net/compat.h>
25#include <asm/xenomai/wrappers.h>
26#include <cobalt/uapi/sched.h>
30struct compat_mq_attr {
31 compat_long_t mq_flags;
32 compat_long_t mq_maxmsg;
33 compat_long_t mq_msgsize;
34 compat_long_t mq_curmsgs;
38 compat_ulong_t fds_bits[__FD_SETSIZE / (8 *
sizeof(compat_long_t))];
41struct compat_rtdm_mmap_request {
48int sys32_get_timespec(
struct timespec64 *ts,
49 const struct old_timespec32 __user *cts);
51int sys32_put_timespec(
struct old_timespec32 __user *cts,
52 const struct timespec64 *ts);
54int sys32_get_itimerspec(
struct itimerspec64 *its,
55 const struct old_itimerspec32 __user *cits);
57int sys32_put_itimerspec(
struct old_itimerspec32 __user *cits,
58 const struct itimerspec64 *its);
60int sys32_get_timeval(
struct __kernel_old_timeval *tv,
61 const struct old_timeval32 __user *ctv);
63int sys32_put_timeval(
struct old_timeval32 __user *ctv,
64 const struct __kernel_old_timeval *tv);
66int sys32_get_timex(
struct __kernel_timex *tx,
67 const struct old_timex32 __user *ctx);
69int sys32_put_timex(
struct old_timex32 __user *ctx,
70 const struct __kernel_timex *tx);
72int sys32_get_fdset(fd_set *fds,
const compat_fd_set __user *cfds,
75int sys32_put_fdset(compat_fd_set __user *cfds,
const fd_set *fds,
78int sys32_get_mqattr(
struct mq_attr *ap,
79 const struct compat_mq_attr __user *u_cap);
81int sys32_put_mqattr(
struct compat_mq_attr __user *u_cap,
82 const struct mq_attr *ap);
84int sys32_get_sigevent(
struct sigevent *ev,
85 const struct compat_sigevent *__user u_cev);
87int sys32_get_sigset(sigset_t *set,
const compat_sigset_t *u_cset);
89int sys32_put_sigset(compat_sigset_t *u_cset,
const sigset_t *set);
91int sys32_get_sigval(
union sigval *val,
const union compat_sigval *u_cval);
93int sys32_put_siginfo(
void __user *u_si,
const struct siginfo *si,
96int sys32_get_msghdr(
struct user_msghdr *msg,
97 const struct compat_msghdr __user *u_cmsg);
99int sys32_get_mmsghdr(
struct mmsghdr *mmsg,
100 const struct compat_mmsghdr __user *u_cmmsg);
102int sys32_put_msghdr(
struct compat_msghdr __user *u_cmsg,
103 const struct user_msghdr *msg);
105int sys32_put_mmsghdr(
struct compat_mmsghdr __user *u_cmmsg,
106 const struct mmsghdr *mmsg);
108int sys32_get_iovec(
struct iovec *iov,
109 const struct compat_iovec __user *ciov,
112int sys32_put_iovec(
struct compat_iovec __user *u_ciov,
113 const struct iovec *iov,