| 2751 | } |
| 2752 | |
| 2753 | int |
| 2754 | freebsd32_kmq_open(struct thread *td, struct freebsd32_kmq_open_args *uap) |
| 2755 | { |
| 2756 | struct mq_attr attr; |
| 2757 | struct mq_attr32 attr32; |
| 2758 | int flags, error; |
| 2759 | |
| 2760 | if ((uap->flags & O_ACCMODE) == O_ACCMODE || uap->flags & O_EXEC) |
| 2761 | return (EINVAL); |
| 2762 | flags = FFLAGS(uap->flags); |
| 2763 | if ((flags & O_CREAT) != 0 && uap->attr != NULL) { |
| 2764 | error = copyin(uap->attr, &attr32, sizeof(attr32)); |
| 2765 | if (error) |
| 2766 | return (error); |
| 2767 | mq_attr_from32(&attr32, &attr); |
| 2768 | } |
| 2769 | return (kern_kmq_open(td, uap->path, flags, uap->mode, |
| 2770 | uap->attr != NULL ? &attr : NULL)); |
| 2771 | } |
| 2772 | |
| 2773 | int |
| 2774 | freebsd32_kmq_setattr(struct thread *td, struct freebsd32_kmq_setattr_args *uap) |
nothing calls this directly
no test coverage detected