Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
x86
ia32
ipc32.c
Go to the documentation of this file.
1
#include <linux/kernel.h>
2
#include <
linux/spinlock.h
>
3
#include <linux/list.h>
4
#include <
linux/syscalls.h
>
5
#include <linux/time.h>
6
#include <linux/sem.h>
7
#include <linux/msg.h>
8
#include <linux/shm.h>
9
#include <linux/ipc.h>
10
#include <
linux/compat.h
>
11
#include <
asm/sys_ia32.h
>
12
13
asmlinkage
long
sys32_ipc
(
u32
call,
int
first
,
int
second
,
int
third,
14
compat_uptr_t
ptr
,
u32
fifth)
15
{
16
int
version
;
17
18
version = call >> 16;
/* hack for backward compatibility */
19
call &= 0xffff;
20
21
switch
(call) {
22
case
SEMOP
:
23
/* struct sembuf is the same on 32 and 64bit :)) */
24
return
sys_semtimedop
(first, compat_ptr(ptr), second,
NULL
);
25
case
SEMTIMEDOP
:
26
return
compat_sys_semtimedop
(first, compat_ptr(ptr), second,
27
compat_ptr(fifth));
28
case
SEMGET
:
29
return
sys_semget
(first, second, third);
30
case
SEMCTL
:
31
return
compat_sys_semctl
(first, second, third, compat_ptr(ptr));
32
33
case
MSGSND
:
34
return
compat_sys_msgsnd
(first, second, third, compat_ptr(ptr));
35
case
MSGRCV
:
36
return
compat_sys_msgrcv
(first, second, fifth, third,
37
version, compat_ptr(ptr));
38
case
MSGGET
:
39
return
sys_msgget
((
key_t
) first, second);
40
case
MSGCTL
:
41
return
compat_sys_msgctl
(first, second, compat_ptr(ptr));
42
43
case
SHMAT
:
44
return
compat_sys_shmat
(first, second, third, version,
45
compat_ptr(ptr));
46
case
SHMDT
:
47
return
sys_shmdt
(compat_ptr(ptr));
48
case
SHMGET
:
49
return
sys_shmget
(first, (
unsigned
)second, third);
50
case
SHMCTL
:
51
return
compat_sys_shmctl
(first, second, compat_ptr(ptr));
52
}
53
return
-
ENOSYS
;
54
}
Generated on Thu Jan 10 2013 13:19:56 for Linux Kernel by
1.8.2