diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-18 14:50:39 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2016-04-18 15:06:41 +0200 |
commit | 22257c7d81148e5b78027116e07627a54f4efb95 (patch) | |
tree | 7cc322ff56197bd8b0cd5a65329de24cdbf2b195 | |
parent | intrmask_t: Provide dummy type definition (diff) | |
download | rtems-libbsd-22257c7d81148e5b78027116e07627a54f4efb95.tar.bz2 |
Avoid use of cap_rights_t
-rw-r--r-- | freebsd/sys/kern/uipc_syscalls.c | 4 | ||||
-rw-r--r-- | freebsd/sys/sys/file.h | 7 | ||||
-rw-r--r-- | freebsd/sys/sys/user.h | 4 |
3 files changed, 11 insertions, 4 deletions
diff --git a/freebsd/sys/kern/uipc_syscalls.c b/freebsd/sys/kern/uipc_syscalls.c index 5b57df89..73e1a64c 100644 --- a/freebsd/sys/kern/uipc_syscalls.c +++ b/freebsd/sys/kern/uipc_syscalls.c @@ -1033,18 +1033,22 @@ kern_sendit(td, s, mp, flags, control, segflg) struct socket *so; int i, error; ssize_t len; +#ifndef __rtems__ cap_rights_t rights; +#endif /* __rtems__ */ #ifdef KTRACE struct uio *ktruio = NULL; #endif AUDIT_ARG_FD(s); +#ifndef __rtems__ rights = CAP_WRITE; if (mp->msg_name != NULL) rights |= CAP_CONNECT; error = getsock_cap(td->td_proc->p_fd, s, rights, &fp, NULL); if (error) return (error); +#endif /* __rtems__ */ so = (struct socket *)fp->f_data; #ifdef KTRACE diff --git a/freebsd/sys/sys/file.h b/freebsd/sys/sys/file.h index dd30c249..cf813275 100644 --- a/freebsd/sys/sys/file.h +++ b/freebsd/sys/sys/file.h @@ -309,17 +309,16 @@ int fget(struct thread *td, int fd, cap_rights_t rights, struct file **fpp); struct file *rtems_bsd_get_file(int fd); static inline int -fget(struct thread *td, int fd, cap_rights_t rights, struct file **fpp) +rtems_bsd_do_fget(int fd, struct file **fpp) { struct file *fp = rtems_bsd_get_file(fd); - (void) td; - (void) rights; - *fpp = fp; return fp != NULL ? 0 : EBADF; } + +#define fget(td, fd, rights, fpp) rtems_bsd_do_fget(fd, fpp) #endif /* __rtems__ */ int fget_mmap(struct thread *td, int fd, cap_rights_t rights, u_char *maxprotp, struct file **fpp); diff --git a/freebsd/sys/sys/user.h b/freebsd/sys/sys/user.h index 72b48f66..dc594398 100644 --- a/freebsd/sys/sys/user.h +++ b/freebsd/sys/sys/user.h @@ -327,6 +327,7 @@ struct kinfo_ofile { #endif struct kinfo_file { +#ifndef __rtems__ int kf_structsize; /* Variable size of record. */ int kf_type; /* Descriptor type. */ int kf_fd; /* Array index. */ @@ -397,6 +398,9 @@ struct kinfo_file { int _kf_ispare[4]; /* Space for more stuff. */ /* Truncated before copyout in sysctl */ char kf_path[PATH_MAX]; /* Path to file, if any. */ +#else /* __rtems__ */ + int kf_dummy; +#endif /* __rtems__ */ }; /* |