| #include <mqueue.h> | |
| #include <fcntl.h> | |
| #include <stdarg.h> | |
| #include "syscall.h" | |
| mqd_t mq_open(const char *name, int flags, ...) | |
| { | |
| mode_t mode = 0; | |
| struct mq_attr *attr = 0; | |
| if (*name == '/') name++; | |
| if (flags & O_CREAT) { | |
| va_list ap; | |
| va_start(ap, flags); | |
| mode = va_arg(ap, mode_t); | |
| attr = va_arg(ap, struct mq_attr *); | |
| va_end(ap); | |
| } | |
| return syscall(SYS_mq_open, name, flags, mode, attr); | |
| } |