Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Jun 2020 14:42:08 +0000 (UTC)
From:      Edward Tomasz Napierala <trasz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r362692 - in head/sys: amd64/linux amd64/linux32 arm64/linux i386/linux
Message-ID:  <202006271442.05REg8dD085642@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: trasz
Date: Sat Jun 27 14:42:08 2020
New Revision: 362692
URL: https://svnweb.freebsd.org/changeset/base/362692

Log:
  Add proper types for linux message queue syscalls; mostly taken
  from 32-bit Linuxulator.
  
  MFC after:	2 weeks
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D25386

Modified:
  head/sys/amd64/linux/syscalls.master
  head/sys/amd64/linux32/syscalls.master
  head/sys/arm64/linux/linux.h
  head/sys/arm64/linux/syscalls.master
  head/sys/i386/linux/syscalls.master

Modified: head/sys/amd64/linux/syscalls.master
==============================================================================
--- head/sys/amd64/linux/syscalls.master	Sat Jun 27 14:39:44 2020	(r362691)
+++ head/sys/amd64/linux/syscalls.master	Sat Jun 27 14:42:08 2020	(r362692)
@@ -1394,22 +1394,48 @@
 		int linux_get_mempolicy(void);
 	}
 240	AUE_NULL	STD {
-		int linux_mq_open(void);
+		int linux_mq_open(
+		    const char *name,
+		    l_int oflag,
+		    l_mode_t mode,
+		    struct mq_attr *attr
+		);
 	}
 241	AUE_NULL	STD {
-		int linux_mq_unlink(void);
+		int linux_mq_unlink(
+		    const char *name
+		);
 	}
 242	AUE_NULL	STD {
-		int linux_mq_timedsend(void);
+		int linux_mq_timedsend(
+		    l_mqd_t mqd,
+		    const char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 243	AUE_NULL	STD {
-		int linux_mq_timedreceive(void);
+		int linux_mq_timedreceive(
+		    l_mqd_t mqd,
+		    char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint *msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 244	AUE_NULL	STD {
-		int linux_mq_notify(void);
+		int linux_mq_notify(
+		    l_mqd_t mqd,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 245	AUE_NULL	STD {
-		int linux_mq_getsetattr(void);
+		int linux_mq_getsetattr(
+		    l_mqd_t mqd,
+		    const struct mq_attr *attr,
+		    struct mq_attr *oattr
+		);
 	}
 246	AUE_NULL	STD {
 		int linux_kexec_load(void);

Modified: head/sys/amd64/linux32/syscalls.master
==============================================================================
--- head/sys/amd64/linux32/syscalls.master	Sat Jun 27 14:39:44 2020	(r362691)
+++ head/sys/amd64/linux32/syscalls.master	Sat Jun 27 14:42:08 2020	(r362692)
@@ -1508,22 +1508,48 @@
 	}
 ; Linux 2.6.6:
 277	AUE_NULL	STD {
-		int linux_mq_open(void);
+		int linux_mq_open(
+		    const char *name,
+		    l_int oflag,
+		    l_mode_t mode,
+		    struct mq_attr *attr
+		);
 	}
 278	AUE_NULL	STD {
-		int linux_mq_unlink(void);
+		int linux_mq_unlink(
+		    const char *name
+		);
 	}
 279	AUE_NULL	STD {
-		int linux_mq_timedsend(void);
+		int linux_mq_timedsend(
+		    l_mqd_t mqd,
+		    const char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 280	AUE_NULL	STD {
-		int linux_mq_timedreceive(void);
+		int linux_mq_timedreceive(
+		    l_mqd_t mqd,
+		    char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint *msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 281	AUE_NULL	STD {
-		int linux_mq_notify(void);
+		int linux_mq_notify(
+		    l_mqd_t mqd,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 282	AUE_NULL	STD {
-		int linux_mq_getsetattr(void);
+		int linux_mq_getsetattr(
+		    l_mqd_t mqd,
+		    const struct mq_attr *attr,
+		    struct mq_attr *oattr
+		);
 	}
 283	AUE_NULL	STD {
 		int linux_kexec_load(void);

Modified: head/sys/arm64/linux/linux.h
==============================================================================
--- head/sys/arm64/linux/linux.h	Sat Jun 27 14:39:44 2020	(r362691)
+++ head/sys/arm64/linux/linux.h	Sat Jun 27 14:42:08 2020	(r362692)
@@ -64,6 +64,7 @@ typedef l_ulong		l_size_t;
 typedef l_long		l_suseconds_t;
 typedef l_long		l_time_t;
 typedef l_int		l_timer_t;	/* XXX */
+typedef l_int		l_mqd_t;
 typedef l_ulong		l_fd_mask;
 
 typedef struct {

Modified: head/sys/arm64/linux/syscalls.master
==============================================================================
--- head/sys/arm64/linux/syscalls.master	Sat Jun 27 14:39:44 2020	(r362691)
+++ head/sys/arm64/linux/syscalls.master	Sat Jun 27 14:42:08 2020	(r362692)
@@ -1040,22 +1040,48 @@
 		);
 	}
 180	AUE_NULL	STD	{
-		int linux_mq_open(void);
+		int linux_mq_open(
+		    const char *name,
+		    l_int oflag,
+		    l_mode_t mode,
+		    struct mq_attr *attr
+		);
 	}
 181	AUE_NULL	STD	{
-		int linux_mq_unlink(void);
+		int linux_mq_unlink(
+		    const char *name
+		);
 	}
 182	AUE_NULL	STD	{
-		int linux_mq_timedsend(void);
+		int linux_mq_timedsend(
+		    l_mqd_t mqd,
+		    const char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 183	AUE_NULL	STD	{
-		int linux_mq_timedreceive(void);
+		int linux_mq_timedreceive(
+		    l_mqd_t mqd,
+		    char *msg_ptr,
+		    l_size_t msg_len,
+		    l_uint *msg_prio,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 184	AUE_NULL	STD	{
-		int linux_mq_notify(void);
+		int linux_mq_notify(
+		    l_mqd_t mqd,
+		    const struct l_timespec *abs_timeout
+		);
 	}
 185	AUE_NULL	STD	{
-		int linux_mq_getsetattr(void);
+		int linux_mq_getsetattr(
+		    l_mqd_t mqd,
+		    const struct mq_attr *attr,
+		    struct mq_attr *oattr
+		);
 	}
 186	AUE_NULL	STD	{
 		int linux_msgget(

Modified: head/sys/i386/linux/syscalls.master
==============================================================================
--- head/sys/i386/linux/syscalls.master	Sat Jun 27 14:39:44 2020	(r362691)
+++ head/sys/i386/linux/syscalls.master	Sat Jun 27 14:42:08 2020	(r362692)
@@ -1532,8 +1532,8 @@
 277	AUE_NULL	STD {
 		int linux_mq_open(
 		    const char *name,
-		    int oflag,
-		    mode_t mode,
+		    l_int oflag,
+		    l_mode_t mode,
 		    struct mq_attr *attr
 		);
 	}
@@ -1546,8 +1546,8 @@
 		int linux_mq_timedsend(
 		    l_mqd_t mqd,
 		    const char *msg_ptr,
-		    size_t msg_len,
-		    unsigned int msg_prio,
+		    l_size_t msg_len,
+		    l_uint msg_prio,
 		    const struct l_timespec *abs_timeout
 		);
 	}
@@ -1555,8 +1555,8 @@
 		int linux_mq_timedreceive(
 		    l_mqd_t mqd,
 		    char *msg_ptr,
-		    size_t msg_len,
-		    unsigned int msg_prio,
+		    l_size_t msg_len,
+		    l_uint *msg_prio,
 		    const struct l_timespec *abs_timeout
 		);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202006271442.05REg8dD085642>