source: branches/minix3-book/kernel/ipc.h@ 4

Last change on this file since 4 was 4, checked in by Mattia Monga, 13 years ago

Importazione sorgenti libro

File size: 1.2 KB
Line 
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
29#endif /* IPC_H */
Note: See TracBrowser for help on using the repository browser.