- Alan Cox: synch. PA-RISC arch and bitops cleanups
[davej-history.git] / include / asm-parisc / shmbuf.h
blobea45e96b340be423c0c0d66f26adc4f6654fa16a
1 #ifndef _PARISC_SHMBUF_H
2 #define _PARISC_SHMBUF_H
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.
9 * Pad space is left for:
10 * - 64-bit time_t to solve y2038 problem
11 * - 2 miscellaneous 32-bit values
14 struct shmid64_ds {
15 struct ipc64_perm shm_perm; /* operation perms */
16 unsigned int __pad1;
17 __kernel_time_t shm_atime; /* last attach time */
18 unsigned int __pad2;
19 __kernel_time_t shm_dtime; /* last detach time */
20 unsigned int __pad3;
21 __kernel_time_t shm_ctime; /* last change time */
22 size_t shm_segsz; /* size of segment (bytes) */
23 __kernel_pid_t shm_cpid; /* pid of creator */
24 __kernel_pid_t shm_lpid; /* pid of last operator */
25 unsigned int shm_nattch; /* no. of current attaches */
26 unsigned int __unused1;
27 unsigned int __unused2;
30 #ifdef __LP64__
31 #warning shminfo64 is an undocumented struct
32 /* The 'unsigned int' (formerly 'unsigned long') data types below will
33 * ensure that a 32-bit app calling shmctl(*,IPC_INFO,*) will work on
34 * a wide kernel, but if some of these values are meant to contain pointers
35 * they may need to be 'long long' instead. -PB
37 #endif
38 struct shminfo64 {
39 unsigned int shmmax;
40 unsigned int shmmin;
41 unsigned int shmmni;
42 unsigned int shmseg;
43 unsigned int shmall;
44 unsigned int __unused1;
45 unsigned int __unused2;
46 unsigned int __unused3;
47 unsigned int __unused4;
50 #endif /* _PARISC_SHMBUF_H */