Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
shmbuf.h
Go to the documentation of this file.
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 */