#define NR_PM_CALLS 48 /* highest number from base plus one */
-/* Field names for the getepinfo(2) call. */
-#define PM_GETEPINFO_ENDPT m1_i1 /* endpoint_t */
-#define PM_GETEPINFO_UID m1_i1 /* uid_t */
-#define PM_GETEPINFO_GID m1_i2 /* gid_t */
-
/* Field names for the exit(2) call. */
#define PM_EXIT_STATUS m1_i1 /* int */
} mess_lc_vfs_umount;
_ASSERT_MSG_SIZE(mess_lc_vfs_umount);
+typedef struct {
+ endpoint_t endpt;
+
+ uint8_t padding[52];
+} mess_lsys_pm_getepinfo;
+_ASSERT_MSG_SIZE(mess_lsys_pm_getepinfo);
+
+typedef struct {
+ uid_t uid;
+ gid_t gid;
+
+ uint8_t padding[48];
+} mess_pm_lsys_getepinfo;
+_ASSERT_MSG_SIZE(mess_pm_lsys_getepinfo);
+
typedef struct {
pid_t pid;
mess_lc_vfs_umask m_lc_vfs_umask;
mess_lc_vfs_umount m_lc_vfs_umount;
+ mess_lsys_pm_getepinfo m_lsys_pm_getepinfo;
mess_lsys_pm_getprocnr m_lsys_pm_getprocnr;
mess_lsys_vfs_checkperms m_lsys_vfs_checkperms;
mess_lsys_vfs_copyfd m_lsys_vfs_copyfd;
mess_lsys_vfs_mapdriver m_lsys_vfs_mapdriver;
+ mess_pm_lsys_getepinfo m_pm_lsys_getepinfo;
mess_pm_lsys_getprocnr m_pm_lsys_getprocnr;
mess_vfs_fs_breadwrite m_vfs_fs_breadwrite;
int r;
memset(&m, 0, sizeof(m));
- m.PM_GETEPINFO_ENDPT = proc_ep;
+ m.m_lsys_pm_getepinfo.endpt = proc_ep;
if ((r = _taskcall(PM_PROC_NR, PM_GETEPINFO, &m)) < 0)
return r;
if (uid != NULL)
- *uid = m.PM_GETEPINFO_UID;
+ *uid = m.m_pm_lsys_getepinfo.uid;
if (gid != NULL)
- *gid = m.PM_GETEPINFO_GID;
+ *gid = m.m_pm_lsys_getepinfo.gid;
return (pid_t) r;
}
endpoint_t ep;
int slot;
- ep = m_in.PM_GETEPINFO_ENDPT;
+ ep = m_in.m_lsys_pm_getepinfo.endpt;
if (pm_isokendpt(ep, &slot) != OK)
return(ESRCH);
rmp = &mproc[slot];
- mp->mp_reply.PM_GETEPINFO_UID = rmp->mp_effuid;
- mp->mp_reply.PM_GETEPINFO_GID = rmp->mp_effgid;
+ mp->mp_reply.m_pm_lsys_getepinfo.uid = rmp->mp_effuid;
+ mp->mp_reply.m_pm_lsys_getepinfo.gid = rmp->mp_effgid;
return(rmp->mp_pid);
}