VM: simplify slab allocator
[minix.git] / include / minix / ipcconst.h
blobd8202bcdc91398f4a0485e1ede857f17924c17df
1 #ifndef _IPC_CONST_H
2 #define _IPC_CONST_H
4 #include <machine/ipcconst.h>
6 /* System call numbers that are passed when trapping to the kernel. */
7 #define SEND 1 /* blocking send */
8 #define RECEIVE 2 /* blocking receive */
9 #define SENDREC 3 /* SEND + RECEIVE */
10 #define NOTIFY 4 /* asynchronous notify */
11 #define SENDNB 5 /* nonblocking send */
12 #define MINIX_KERNINFO 6 /* request kernel info structure */
13 #define SENDA 16 /* asynchronous send */
14 #define IPCNO_HIGHEST SENDA
16 /* Macros for IPC status code manipulation. */
17 #define IPC_STATUS_CALL_SHIFT 0
18 #define IPC_STATUS_CALL_MASK 0x3F
19 #define IPC_STATUS_CALL(status) \
20 (((status) >> IPC_STATUS_CALL_SHIFT) & IPC_STATUS_CALL_MASK)
21 #define IPC_STATUS_CALL_TO(call) \
22 (((call) & IPC_STATUS_CALL_MASK) << IPC_STATUS_CALL_SHIFT)
24 #define IPC_FLG_MSG_FROM_KERNEL 1 /* this message originated in the kernel on
25 behalf of a process, this is a trusted
26 message, never reply to the sender
28 #define IPC_STATUS_FLAGS_SHIFT 16
29 #define IPC_STATUS_FLAGS(flgs) ((flgs) << IPC_STATUS_FLAGS_SHIFT)
30 #define IPC_STATUS_FLAGS_TEST(status, flgs) \
31 (((status) >> IPC_STATUS_FLAGS_SHIFT) & (flgs))
32 #endif /* IPC_CONST_H */