mq_open.c 406 B

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