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
                );
        }
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to