FreeBSD/Linux Kernel Cross Reference
sys/kernel/ipc.h
1 #ifndef IPC_H
2 #define IPC_H
3
4 /* This header file defines constants for MINIX inter-process communication.
5 * These definitions are used in the file proc.c.
6 */
7 #include <minix/com.h>
8
9 /* Masks and flags for system calls. */
10 #define SYSCALL_FUNC 0x0F /* mask for system call function */
11 #define SYSCALL_FLAGS 0xF0 /* mask for system call flags */
12 #define NON_BLOCKING 0x10 /* prevent blocking, return error */
13
14 /* System call numbers that are passed when trapping to the kernel. The
15 * numbers are carefully defined so that it can easily be seen (based on
16 * the bits that are on) which checks should be done in sys_call().
17 */
18 #define SEND 1 /* 0 0 0 1 : blocking send */
19 #define RECEIVE 2 /* 0 0 1 0 : blocking receive */
20 #define SENDREC 3 /* 0 0 1 1 : SEND + RECEIVE */
21 #define NOTIFY 4 /* 0 1 0 0 : nonblocking notify */
22 #define ECHO 8 /* 1 0 0 0 : echo a message */
23
24 /* The following bit masks determine what checks that should be done. */
25 #define CHECK_PTR 0x0B /* 1 0 1 1 : validate message buffer */
26 #define CHECK_DST 0x05 /* 0 1 0 1 : validate message destination */
27 #define CHECK_SRC 0x02 /* 0 0 1 0 : validate message source */
28 #define CHECK_DEADLOCK 0x03 /* 0 0 1 1 : check for deadlock */
29
30 #endif /* IPC_H */
Cache object: 42e5239d360dbfea055a2f935418eb02
|