Merge branch 'features' of git://farnsworth.org/dale/linux-2.6-mv643xx_eth into upstream
[linux-2.6] / include / asm-parisc / shmbuf.h
1 #ifndef _PARISC_SHMBUF_H
2 #define _PARISC_SHMBUF_H
3
4 /* 
5  * The shmid64_ds structure for parisc architecture.
6  * Note extra padding because this structure is passed back and forth
7  * between kernel and user space.
8  *
9  * Pad space is left for:
10  * - 64-bit time_t to solve y2038 problem
11  * - 2 miscellaneous 32-bit values
12  */
13
14 struct shmid64_ds {
15         struct ipc64_perm       shm_perm;       /* operation perms */
16 #ifndef CONFIG_64BIT
17         unsigned int            __pad1;
18 #endif
19         __kernel_time_t         shm_atime;      /* last attach time */
20 #ifndef CONFIG_64BIT
21         unsigned int            __pad2;
22 #endif
23         __kernel_time_t         shm_dtime;      /* last detach time */
24 #ifndef CONFIG_64BIT
25         unsigned int            __pad3;
26 #endif
27         __kernel_time_t         shm_ctime;      /* last change time */
28 #ifndef CONFIG_64BIT
29         unsigned int            __pad4;
30 #endif
31         size_t                  shm_segsz;      /* size of segment (bytes) */
32         __kernel_pid_t          shm_cpid;       /* pid of creator */
33         __kernel_pid_t          shm_lpid;       /* pid of last operator */
34         unsigned int            shm_nattch;     /* no. of current attaches */
35         unsigned int            __unused1;
36         unsigned int            __unused2;
37 };
38
39 #ifdef CONFIG_64BIT
40 /* The 'unsigned int' (formerly 'unsigned long') data types below will
41  * ensure that a 32-bit app calling shmctl(*,IPC_INFO,*) will work on
42  * a wide kernel, but if some of these values are meant to contain pointers
43  * they may need to be 'long long' instead. -PB XXX FIXME
44  */
45 #endif
46 struct shminfo64 {
47         unsigned int    shmmax;
48         unsigned int    shmmin;
49         unsigned int    shmmni;
50         unsigned int    shmseg;
51         unsigned int    shmall;
52         unsigned int    __unused1;
53         unsigned int    __unused2;
54         unsigned int    __unused3;
55         unsigned int    __unused4;
56 };
57
58 #endif /* _PARISC_SHMBUF_H */