Add the rt linux 4.1.3-rt3 as base
[kvmfornfv.git] / kernel / include / uapi / asm-generic / shmbuf.h
1 #ifndef __ASM_GENERIC_SHMBUF_H
2 #define __ASM_GENERIC_SHMBUF_H
3
4 #include <asm/bitsperlong.h>
5
6 /*
7  * The shmid64_ds structure for x86 architecture.
8  * Note extra padding because this structure is passed back and forth
9  * between kernel and user space.
10  *
11  * shmid64_ds was originally meant to be architecture specific, but
12  * everyone just ended up making identical copies without specific
13  * optimizations, so we may just as well all use the same one.
14  *
15  * 64 bit architectures typically define a 64 bit __kernel_time_t,
16  * so they do not need the first two padding words.
17  * On big-endian systems, the padding is in the wrong place.
18  *
19  *
20  * Pad space is left for:
21  * - 64-bit time_t to solve y2038 problem
22  * - 2 miscellaneous 32-bit values
23  */
24
25 struct shmid64_ds {
26         struct ipc64_perm       shm_perm;       /* operation perms */
27         size_t                  shm_segsz;      /* size of segment (bytes) */
28         __kernel_time_t         shm_atime;      /* last attach time */
29 #if __BITS_PER_LONG != 64
30         unsigned long           __unused1;
31 #endif
32         __kernel_time_t         shm_dtime;      /* last detach time */
33 #if __BITS_PER_LONG != 64
34         unsigned long           __unused2;
35 #endif
36         __kernel_time_t         shm_ctime;      /* last change time */
37 #if __BITS_PER_LONG != 64
38         unsigned long           __unused3;
39 #endif
40         __kernel_pid_t          shm_cpid;       /* pid of creator */
41         __kernel_pid_t          shm_lpid;       /* pid of last operator */
42         __kernel_ulong_t        shm_nattch;     /* no. of current attaches */
43         __kernel_ulong_t        __unused4;
44         __kernel_ulong_t        __unused5;
45 };
46
47 struct shminfo64 {
48         __kernel_ulong_t        shmmax;
49         __kernel_ulong_t        shmmin;
50         __kernel_ulong_t        shmmni;
51         __kernel_ulong_t        shmseg;
52         __kernel_ulong_t        shmall;
53         __kernel_ulong_t        __unused1;
54         __kernel_ulong_t        __unused2;
55         __kernel_ulong_t        __unused3;
56         __kernel_ulong_t        __unused4;
57 };
58
59 #endif /* __ASM_GENERIC_SHMBUF_H */