]> Zhao Yanbai Git Server - minix.git/commitdiff
GET_PRIVID: return the ID of a process' privilege structure.
authorPhilip Homburg <philip@cs.vu.nl>
Mon, 23 Apr 2007 13:28:14 +0000 (13:28 +0000)
committerPhilip Homburg <philip@cs.vu.nl>
Mon, 23 Apr 2007 13:28:14 +0000 (13:28 +0000)
kernel/system/do_getinfo.c

index d365105a6ec1d87929f07a83f65cdbe3d7dde4e1..d51e227aecb606ed3962be1f12880f93d915dffd 100644 (file)
@@ -36,7 +36,7 @@ register message *m_ptr;      /* pointer to request message */
   int proc_nr, nr_e, nr;
 
   /* Set source address and length based on request type. */
-  switch (m_ptr->I_REQUEST) {  
+  switch (m_ptr->I_REQUEST) {
     case GET_MACHINE: {
         length = sizeof(struct machine);
         src_phys = vir2phys(&machine);
@@ -150,7 +150,13 @@ register message *m_ptr;   /* pointer to request message */
         break;
     }
 
+    case GET_PRIVID:
+       if (!isokendpt(m_ptr->I_VAL_LEN2_E, &proc_nr)) 
+               return EINVAL;
+       return proc_addr(proc_nr)->p_priv->s_id;
+
     default:
+       kprintf("do_getinfo: invalid request %d\n", m_ptr->I_REQUEST);
         return(EINVAL);
   }