1 #ifndef _ASM_POWERPC_SHMBUF_H
2 #define _ASM_POWERPC_SHMBUF_H
3 
4 /*
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version
8  * 2 of the License, or (at your option) any later version.
9  */
10 
11 /*
12  * The shmid64_ds structure for PPC architecture.
13  *
14  * Note extra padding because this structure is passed back and forth
15  * between kernel and user space.
16  *
17  * Pad space is left for:
18  * - 64-bit time_t to solve y2038 problem
19  * - 2 miscellaneous 32-bit values
20  */
21 
22 struct shmid64_ds {
23 	struct ipc64_perm	shm_perm;	/* operation perms */
24 #ifndef __powerpc64__
25 	unsigned long		__unused1;
26 #endif
27 	__kernel_time_t		shm_atime;	/* last attach time */
28 #ifndef __powerpc64__
29 	unsigned long		__unused2;
30 #endif
31 	__kernel_time_t		shm_dtime;	/* last detach time */
32 #ifndef __powerpc64__
33 	unsigned long		__unused3;
34 #endif
35 	__kernel_time_t		shm_ctime;	/* last change time */
36 #ifndef __powerpc64__
37 	unsigned long		__unused4;
38 #endif
39 	size_t			shm_segsz;	/* size of segment (bytes) */
40 	__kernel_pid_t		shm_cpid;	/* pid of creator */
41 	__kernel_pid_t		shm_lpid;	/* pid of last operator */
42 	unsigned long		shm_nattch;	/* no. of current attaches */
43 	unsigned long		__unused5;
44 	unsigned long		__unused6;
45 };
46 
47 struct shminfo64 {
48 	unsigned long	shmmax;
49 	unsigned long	shmmin;
50 	unsigned long	shmmni;
51 	unsigned long	shmseg;
52 	unsigned long	shmall;
53 	unsigned long	__unused1;
54 	unsigned long	__unused2;
55 	unsigned long	__unused3;
56 	unsigned long	__unused4;
57 };
58 
59 #endif	/* _ASM_POWERPC_SHMBUF_H */
60