]> Zhao Yanbai Git Server - minix.git/commitdiff
Message type for SVRCTL
authorLionel Sambuc <lionel@minix3.org>
Mon, 19 May 2014 09:25:52 +0000 (11:25 +0200)
committerLionel Sambuc <lionel@minix3.org>
Mon, 28 Jul 2014 15:05:45 +0000 (17:05 +0200)
Change-Id: Ibdb9edb9878e06cf2a641ffc3975f878a6e41dfb

include/minix/com.h
include/minix/ipc.h
lib/libc/sys-minix/svrctl.c
servers/pm/misc.c
servers/vfs/misc.c

index 444db2677eca612a26f795ee41b1854a7c802a9d..9e8b37b256f45293aab3dbe8bd8b7f539699f472 100644 (file)
 #define SI_WHERE               m1_p1   /* void */
 #define SI_SIZE                        m1_i2   /* size_t */
 
-/* Field names for the svrctl(2) call. */
-#define SVRCTL_REQ             m2_i1   /* int */
-#define SVRCTL_ARG             m2_p1   /* void * */
-
 /*===========================================================================*
  *             Internal codes used by several services                      *
  *===========================================================================*/
index 21cea51687a733a20ee8325d691ce08b306f376d..2e8311be478227e52162b400934ef7b039512339 100644 (file)
@@ -769,6 +769,14 @@ typedef struct {
 } mess_lsys_sched_scheduling_stop;
 _ASSERT_MSG_SIZE(mess_lsys_sched_scheduling_stop);
 
+typedef struct {
+       int request;
+       vir_bytes arg;
+
+       uint8_t padding[48];
+} mess_lsys_svrctl;
+_ASSERT_MSG_SIZE(mess_lsys_svrctl);
+
 typedef struct {
        endpoint_t endpt;
        cp_grant_id_t grant;
@@ -1368,6 +1376,8 @@ typedef struct {
                mess_lsys_sched_scheduling_start m_lsys_sched_scheduling_start;
                mess_lsys_sched_scheduling_stop m_lsys_sched_scheduling_stop;
 
+               mess_lsys_svrctl        m_lsys_svrctl;
+
                mess_lsys_vfs_checkperms m_lsys_vfs_checkperms;
                mess_lsys_vfs_copyfd    m_lsys_vfs_copyfd;
                mess_lsys_vfs_mapdriver m_lsys_vfs_mapdriver;
index c691ce2dd7579f447ef9242ddfc6813f6e3cf87c..b93af6cea8e096dd1cc66b1e20b4dc0a8b9c88e4 100644 (file)
@@ -11,8 +11,8 @@ int svrctl(int request, void *argp)
        message m;
 
        memset(&m, 0, sizeof(m));
-       m.SVRCTL_REQ = request;
-       m.SVRCTL_ARG = argp;
+       m.m_lsys_svrctl.request = request;
+       m.m_lsys_svrctl.arg = argp;
 
        switch ((request >> 8) & 0xFF) {
        case 'M':
index 63de747fba09f1a3b532c34b6c9efe514a4fd684..f7781d79145e566e75b0035154cd0075da9d4d9b 100644 (file)
@@ -305,8 +305,8 @@ int do_svrctl()
   } local_param_overrides[MAX_LOCAL_PARAMS];
   static int local_params = 0;
 
-  req = m_in.SVRCTL_REQ;
-  ptr = (vir_bytes) m_in.SVRCTL_ARG;
+  req = m_in.m_lsys_svrctl.request;
+  ptr = m_in.m_lsys_svrctl.arg;
 
   /* Is the request indeed for the PM? */
   if (((req >> 8) & 0xFF) != 'M') return(EINVAL);
index 69dae6507f82c20df28187a0f1d2d1739e11a16d..e35dc323c2a6c3937833b0e8944b78c756344f43 100644 (file)
@@ -779,8 +779,8 @@ int do_svrctl(void)
   unsigned int svrctl;
   vir_bytes ptr;
 
-  svrctl = job_m_in.SVRCTL_REQ;
-  ptr = (vir_bytes) job_m_in.SVRCTL_ARG;
+  svrctl = job_m_in.m_lsys_svrctl.request;
+  ptr = job_m_in.m_lsys_svrctl.arg;
   if (((svrctl >> 8) & 0xFF) != 'M') return(EINVAL);
 
   switch (svrctl) {