custom message type for SHMCTL, SEMCTL, SEMGET

This commit is contained in:
Ben Gras
2014-07-26 13:53:53 +02:00
committed by Lionel Sambuc
parent e57d31d331
commit c476408dea
6 changed files with 66 additions and 47 deletions

View File

@@ -830,22 +830,10 @@
#define IPC_SHMAT (IPC_BASE+2)
#define IPC_SHMDT (IPC_BASE+3)
#define IPC_SHMCTL (IPC_BASE+4)
# define SHMCTL_ID m2_i1
# define SHMCTL_CMD m2_i2
# define SHMCTL_BUF m2_l1
# define SHMCTL_RET m2_i3
/* Semaphore */
#define IPC_SEMGET (IPC_BASE+5)
# define SEMGET_KEY m2_l1
# define SEMGET_NR m2_i1
# define SEMGET_FLAG m2_i2
# define SEMGET_RETID m2_i3
#define IPC_SEMCTL (IPC_BASE+6)
# define SEMCTL_ID m2_i1
# define SEMCTL_NUM m2_i2
# define SEMCTL_CMD m2_i3
# define SEMCTL_OPT m2_l1
#define IPC_SEMOP (IPC_BASE+7)
# define SEMOP_ID m2_i1
# define SEMOP_OPS m2_l1

View File

@@ -1789,6 +1789,34 @@ typedef struct {
} mess_lc_ipc_shmdt;
_ASSERT_MSG_SIZE(mess_lc_ipc_shmdt);
typedef struct {
int id;
int cmd;
void *buf;
int ret;
uint8_t padding[40];
} mess_lc_ipc_shmctl;
_ASSERT_MSG_SIZE(mess_lc_ipc_shmctl);
typedef struct {
key_t key;
int nr;
int flag;
int retid;
uint8_t padding[40];
} mess_lc_ipc_semget;
_ASSERT_MSG_SIZE(mess_lc_ipc_semget);
typedef struct {
int id;
int num;
int cmd;
int opt;
int ret;
uint8_t padding[36];
} mess_lc_ipc_semctl;
_ASSERT_MSG_SIZE(mess_lc_ipc_semctl);
typedef struct {
endpoint_t m_source; /* who sent the message */
int m_type; /* what kind of message is it */
@@ -2018,6 +2046,9 @@ typedef struct {
mess_lc_ipc_shmget m_lc_ipc_shmget;
mess_lc_ipc_shmat m_lc_ipc_shmat;
mess_lc_ipc_shmdt m_lc_ipc_shmdt;
mess_lc_ipc_shmctl m_lc_ipc_shmctl;
mess_lc_ipc_semget m_lc_ipc_semget;
mess_lc_ipc_semctl m_lc_ipc_semctl;
mess_vfs_lchardriver_cancel m_vfs_lchardriver_cancel;
mess_vfs_lchardriver_openclose m_vfs_lchardriver_openclose;