OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [ipc.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef _LINUX_IPC_H
2
#define _LINUX_IPC_H
3
 
4
#include <linux/types.h>
5
 
6
#define IPC_PRIVATE ((__kernel_key_t) 0)  
7
 
8
/* Obsolete, used only for backwards compatibility and libc5 compiles */
9
struct ipc_perm
10
{
11
        __kernel_key_t  key;
12
        __kernel_uid_t  uid;
13
        __kernel_gid_t  gid;
14
        __kernel_uid_t  cuid;
15
        __kernel_gid_t  cgid;
16
        __kernel_mode_t mode;
17
        unsigned short  seq;
18
};
19
 
20
/* Include the definition of ipc64_perm */
21
#include <asm/ipcbuf.h>
22
 
23
/* resource get request flags */
24
#define IPC_CREAT  00001000   /* create if key is nonexistent */
25
#define IPC_EXCL   00002000   /* fail if key exists */
26
#define IPC_NOWAIT 00004000   /* return error on wait */
27
 
28
/* these fields are used by the DIPC package so the kernel as standard
29
   should avoid using them if possible */
30
 
31
#define IPC_DIPC 00010000  /* make it distributed */
32
#define IPC_OWN  00020000  /* this machine is the DIPC owner */
33
 
34
/*
35
 * Control commands used with semctl, msgctl and shmctl
36
 * see also specific commands in sem.h, msg.h and shm.h
37
 */
38
#define IPC_RMID 0     /* remove resource */
39
#define IPC_SET  1     /* set ipc_perm options */
40
#define IPC_STAT 2     /* get ipc_perm options */
41
#define IPC_INFO 3     /* see ipcs */
42
 
43
/*
44
 * Version flags for semctl, msgctl, and shmctl commands
45
 * These are passed as bitflags or-ed with the actual command
46
 */
47
#define IPC_OLD 0       /* Old version (no 32-bit UID support on many
48
                           architectures) */
49
#define IPC_64  0x0100  /* New version (support 32-bit UIDs, bigger
50
                           message sizes, etc. */
51
 
52
/*
53
 * These are used to wrap system calls.
54
 *
55
 * See architecture code for ugly details..
56
 */
57
struct ipc_kludge {
58
        struct msgbuf *msgp;
59
        long msgtyp;
60
};
61
 
62
#define SEMOP            1
63
#define SEMGET           2
64
#define SEMCTL           3
65
#define SEMTIMEDOP       4
66
#define MSGSND          11
67
#define MSGRCV          12
68
#define MSGGET          13
69
#define MSGCTL          14
70
#define SHMAT           21
71
#define SHMDT           22
72
#define SHMGET          23
73
#define SHMCTL          24
74
 
75
/* Used by the DIPC package, try and avoid reusing it */
76
#define DIPC            25
77
 
78
#define IPCCALL(version,op)     ((version)<<16 | (op))
79
 
80
 
81
#endif /* _LINUX_IPC_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.