1#include <mqueue.h> 2#include <fcntl.h> 3#include <stdarg.h> 4#include "syscall.h" 5 6mqd_t mq_open(const char *name, int flags, ...) 7{ 8 mode_t mode = 0; 9 struct mq_attr *attr = 0; 10 if (*name == '/') name++; 11 if (flags & O_CREAT) { 12 va_list ap; 13 va_start(ap, flags); 14 mode = va_arg(ap, mode_t); 15 attr = va_arg(ap, struct mq_attr *); 16 va_end(ap); 17 } 18 return syscall(SYS_mq_open, name, flags, mode, attr); 19} 20