Go to the previous, next section.
int sys_ipc (uint call, int first, int second,
int third, void *ptr);
call: [in] the ipc call to perform.
first, second, third: parameters. Depend on call.
ptr: [in] pointer to a buffer.
This is an in kernel wrapper for other ipc calls. call can take the following values:
SEMOP
sys_semop(first, (struct sembuf *)ptr, second);
SEMGET
sys_semget (first, second, third);
SEMCTL
sys_semctl (first, second, third, ptr);
MSGSND
sys_msgsnd (first, (struct msgbuf *) ptr, second, third);
MSGRCV
struct ipc_kludge tmp;
if (!ptr) return -EINVAL;
memcpy_fromfs (&tmp,(struct ipc_kludge *) ptr, sizeof (tmp));
return sys_msgrcv (first, tmp.msgp, second, tmp.msgtyp, third);
MSGGET
sys_msgget ((key_t) first, second);
MSGCTL
sys_msgctl (first, second, (struct msqid_ds *) ptr);
SHMAT
sys_shmat (first, (char *) ptr, second, (ulong *) third);
SHMDT
sys_shmdt ((char *)ptr);
SHMGET
sys_shmget (first, second, third);
SHMCTL
sys_shmctl (first, second, (struct shmid_ds *) ptr);
Go to the previous, next section.