{ AS(fchownat_args), (sy_call_t *)sys_fchownat }, /* 507 = fchownat */
{ AS(unlinkat_args), (sy_call_t *)sys_unlinkat }, /* 508 = unlinkat */
{ AS(faccessat_args), (sy_call_t *)sys_faccessat }, /* 509 = faccessat */
+ { AS(mq_open_args), (sy_call_t *)sys_mq_open }, /* 510 = mq_open */
+ { AS(mq_close_args), (sy_call_t *)sys_mq_close }, /* 511 = mq_close */
+ { AS(mq_unlink_args), (sy_call_t *)sys_mq_unlink }, /* 512 = mq_unlink */
+ { AS(mq_getattr_args), (sy_call_t *)sys_mq_getattr }, /* 513 = mq_getattr */
+ { AS(mq_setattr_args), (sy_call_t *)sys_mq_setattr }, /* 514 = mq_setattr */
+ { AS(mq_notify_args), (sy_call_t *)sys_mq_notify }, /* 515 = mq_notify */
+ { AS(mq_send_args), (sy_call_t *)sys_mq_send }, /* 516 = mq_send */
+ { AS(mq_receive_args), (sy_call_t *)sys_mq_receive }, /* 517 = mq_receive */
+ { AS(mq_timedsend_args), (sy_call_t *)sys_mq_timedsend }, /* 518 = mq_timedsend */
+ { AS(mq_timedreceive_args), (sy_call_t *)sys_mq_timedreceive }, /* 519 = mq_timedreceive */
};
"fchownat", /* 507 = fchownat */
"unlinkat", /* 508 = unlinkat */
"faccessat", /* 509 = faccessat */
+ "mq_open", /* 510 = mq_open */
+ "mq_close", /* 511 = mq_close */
+ "mq_unlink", /* 512 = mq_unlink */
+ "mq_getattr", /* 513 = mq_getattr */
+ "mq_setattr", /* 514 = mq_setattr */
+ "mq_notify", /* 515 = mq_notify */
+ "mq_send", /* 516 = mq_send */
+ "mq_receive", /* 517 = mq_receive */
+ "mq_timedsend", /* 518 = mq_timedsend */
+ "mq_timedreceive", /* 519 = mq_timedreceive */
};
508 STD POSIX { int unlinkat(int fd, char *path, int flags); }
509 STD POSIX { int faccessat(int fd, char *path, int amode, \
int flags); }
+
+; Revisit later the MPSAFE-ness of the following calls
+510 STD POSIX { mqd_t mq_open(const char * name, int oflag, \
+ mode_t mode, struct mq_attr *attr); }
+511 STD POSIX { int mq_close(mqd_t mqdes); }
+512 STD POSIX { int mq_unlink(const char *name); }
+513 STD POSIX { int mq_getattr(mqd_t mqdes, \
+ struct mq_attr *mqstat); }
+514 STD POSIX { int mq_setattr(mqd_t mqdes, \
+ const struct mq_attr *mqstat, \
+ struct mq_attr *omqstat); }
+515 STD POSIX { int mq_notify(mqd_t mqdes, \
+ const struct sigevent *notification); }
+516 STD POSIX { int mq_send(mqd_t mqdes, const char *msg_ptr, \
+ size_t msg_len, unsigned msg_prio); }
+517 STD POSIX { ssize_t mq_receive(mqd_t mqdes, char *msg_ptr, \
+ size_t msg_len, unsigned *msg_prio); }
+518 STD POSIX { int mq_timedsend(mqd_t mqdes, \
+ const char *msg_ptr, size_t msg_len, \
+ unsigned msg_prio, \
+ const struct timespec *abs_timeout); }
+519 STD POSIX { ssize_t mq_timedreceive(mqd_t mqdes, \
+ char *msg_ptr, size_t msg_len, unsigned *msg_prio, \
+ const struct timespec *abs_timeout); }
HIDE_POSIX(fchownat)
HIDE_POSIX(unlinkat)
HIDE_POSIX(faccessat)
+HIDE_POSIX(mq_open)
+HIDE_POSIX(mq_close)
+HIDE_POSIX(mq_unlink)
+HIDE_POSIX(mq_getattr)
+HIDE_POSIX(mq_setattr)
+HIDE_POSIX(mq_notify)
+HIDE_POSIX(mq_send)
+HIDE_POSIX(mq_receive)
+HIDE_POSIX(mq_timedsend)
+HIDE_POSIX(mq_timedreceive)
#define SYS_fchownat 507
#define SYS_unlinkat 508
#define SYS_faccessat 509
-#define SYS_MAXSYSCALL 510
+#define SYS_mq_open 510
+#define SYS_mq_close 511
+#define SYS_mq_unlink 512
+#define SYS_mq_getattr 513
+#define SYS_mq_setattr 514
+#define SYS_mq_notify 515
+#define SYS_mq_send 516
+#define SYS_mq_receive 517
+#define SYS_mq_timedsend 518
+#define SYS_mq_timedreceive 519
+#define SYS_MAXSYSCALL 520
fchmodat.o \
fchownat.o \
unlinkat.o \
- faccessat.o
+ faccessat.o \
+ mq_open.o \
+ mq_close.o \
+ mq_unlink.o \
+ mq_getattr.o \
+ mq_setattr.o \
+ mq_notify.o \
+ mq_send.o \
+ mq_receive.o \
+ mq_timedsend.o \
+ mq_timedreceive.o
int amode; char amode_[PAD_(int)];
int flags; char flags_[PAD_(int)];
};
+struct mq_open_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ const char * name; char name_[PAD_(const char *)];
+ int oflag; char oflag_[PAD_(int)];
+ mode_t mode; char mode_[PAD_(mode_t)];
+ struct mq_attr * attr; char attr_[PAD_(struct mq_attr *)];
+};
+struct mq_close_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+};
+struct mq_unlink_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ const char * name; char name_[PAD_(const char *)];
+};
+struct mq_getattr_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ struct mq_attr * mqstat; char mqstat_[PAD_(struct mq_attr *)];
+};
+struct mq_setattr_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ const struct mq_attr * mqstat; char mqstat_[PAD_(const struct mq_attr *)];
+ struct mq_attr * omqstat; char omqstat_[PAD_(struct mq_attr *)];
+};
+struct mq_notify_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ const struct sigevent * notification; char notification_[PAD_(const struct sigevent *)];
+};
+struct mq_send_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ const char * msg_ptr; char msg_ptr_[PAD_(const char *)];
+ size_t msg_len; char msg_len_[PAD_(size_t)];
+ unsigned msg_prio; char msg_prio_[PAD_(unsigned)];
+};
+struct mq_receive_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ char * msg_ptr; char msg_ptr_[PAD_(char *)];
+ size_t msg_len; char msg_len_[PAD_(size_t)];
+ unsigned * msg_prio; char msg_prio_[PAD_(unsigned *)];
+};
+struct mq_timedsend_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ const char * msg_ptr; char msg_ptr_[PAD_(const char *)];
+ size_t msg_len; char msg_len_[PAD_(size_t)];
+ unsigned msg_prio; char msg_prio_[PAD_(unsigned)];
+ const struct timespec * abs_timeout; char abs_timeout_[PAD_(const struct timespec *)];
+};
+struct mq_timedreceive_args {
+#ifdef _KERNEL
+ struct sysmsg sysmsg;
+#endif
+ mqd_t mqdes; char mqdes_[PAD_(mqd_t)];
+ char * msg_ptr; char msg_ptr_[PAD_(char *)];
+ size_t msg_len; char msg_len_[PAD_(size_t)];
+ unsigned * msg_prio; char msg_prio_[PAD_(unsigned *)];
+ const struct timespec * abs_timeout; char abs_timeout_[PAD_(const struct timespec *)];
+};
#ifdef COMPAT_43
int sys_fchownat (struct fchownat_args *);
int sys_unlinkat (struct unlinkat_args *);
int sys_faccessat (struct faccessat_args *);
+int sys_mq_open (struct mq_open_args *);
+int sys_mq_close (struct mq_close_args *);
+int sys_mq_unlink (struct mq_unlink_args *);
+int sys_mq_getattr (struct mq_getattr_args *);
+int sys_mq_setattr (struct mq_setattr_args *);
+int sys_mq_notify (struct mq_notify_args *);
+int sys_mq_send (struct mq_send_args *);
+int sys_mq_receive (struct mq_receive_args *);
+int sys_mq_timedsend (struct mq_timedsend_args *);
+int sys_mq_timedreceive (struct mq_timedreceive_args *);
#endif /* !_SYS_SYSPROTO_H_ */
#undef PAD_
struct fchownat_args fchownat;
struct unlinkat_args unlinkat;
struct faccessat_args faccessat;
+ struct mq_open_args mq_open;
+ struct mq_close_args mq_close;
+ struct mq_unlink_args mq_unlink;
+ struct mq_getattr_args mq_getattr;
+ struct mq_setattr_args mq_setattr;
+ struct mq_notify_args mq_notify;
+ struct mq_send_args mq_send;
+ struct mq_receive_args mq_receive;
+ struct mq_timedsend_args mq_timedsend;
+ struct mq_timedreceive_args mq_timedreceive;
};