Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6
[linux-2.6] / arch / x86 / include / asm / shmbuf.h
1 #ifndef _ASM_X86_SHMBUF_H
2 #define _ASM_X86_SHMBUF_H
3
4 /*
5  * The shmid64_ds structure for x86 architecture.
6  * Note extra padding because this structure is passed back and forth
7  * between kernel and user space.
8  *
9  * Pad space on 32 bit is left for:
10  * - 64-bit time_t to solve y2038 problem
11  * - 2 miscellaneous 32-bit values
12  *
13  * Pad space on 64 bit is left for:
14  * - 2 miscellaneous 64-bit values
15  */
16
17 struct shmid64_ds {
18         struct ipc64_perm       shm_perm;       /* operation perms */
19         size_t                  shm_segsz;      /* size of segment (bytes) */
20         __kernel_time_t         shm_atime;      /* last attach time */
21 #ifdef __i386__
22         unsigned long           __unused1;
23 #endif
24         __kernel_time_t         shm_dtime;      /* last detach time */
25 #ifdef __i386__
26         unsigned long           __unused2;
27 #endif
28         __kernel_time_t         shm_ctime;      /* last change time */
29 #ifdef __i386__
30         unsigned long           __unused3;
31 #endif
32         __kernel_pid_t          shm_cpid;       /* pid of creator */
33         __kernel_pid_t          shm_lpid;       /* pid of last operator */
34         unsigned long           shm_nattch;     /* no. of current attaches */
35         unsigned long           __unused4;
36         unsigned long           __unused5;
37 };
38
39 struct shminfo64 {
40         unsigned long   shmmax;
41         unsigned long   shmmin;
42         unsigned long   shmmni;
43         unsigned long   shmseg;
44         unsigned long   shmall;
45         unsigned long   __unused1;
46         unsigned long   __unused2;
47         unsigned long   __unused3;
48         unsigned long   __unused4;
49 };
50
51 #endif /* _ASM_X86_SHMBUF_H */