1a37c8875a764b4decf941859f4a2c63e1e86c8fajdl@freescale.com#ifndef _ASM_POWERPC_SHMBUF_H
2a37c8875a764b4decf941859f4a2c63e1e86c8fajdl@freescale.com#define _ASM_POWERPC_SHMBUF_H
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
46b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger/*
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This program is free software; you can redistribute it and/or
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * modify it under the terms of the GNU General Public License
71da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * as published by the Free Software Foundation; either version
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * 2 of the License, or (at your option) any later version.
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
116b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger/*
126b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * The shmid64_ds structure for PPC architecture.
136b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger *
146b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * Note extra padding because this structure is passed back and forth
156b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * between kernel and user space.
166b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger *
176b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * Pad space is left for:
186b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * - 64-bit time_t to solve y2038 problem
196b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger * - 2 miscellaneous 32-bit values
206b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger */
216b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct shmid64_ds {
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	struct ipc64_perm	shm_perm;	/* operation perms */
24f9526785d8a03fd0e21f9cfc951adc03bde1c395jdl@freescale.com#ifndef __powerpc64__
256b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused1;
266b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger#endif
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	__kernel_time_t		shm_atime;	/* last attach time */
28f9526785d8a03fd0e21f9cfc951adc03bde1c395jdl@freescale.com#ifndef __powerpc64__
296b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused2;
306b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger#endif
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	__kernel_time_t		shm_dtime;	/* last detach time */
32f9526785d8a03fd0e21f9cfc951adc03bde1c395jdl@freescale.com#ifndef __powerpc64__
336b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused3;
346b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger#endif
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	__kernel_time_t		shm_ctime;	/* last change time */
36f9526785d8a03fd0e21f9cfc951adc03bde1c395jdl@freescale.com#ifndef __powerpc64__
376b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused4;
386b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger#endif
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	size_t			shm_segsz;	/* size of segment (bytes) */
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	__kernel_pid_t		shm_cpid;	/* pid of creator */
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	__kernel_pid_t		shm_lpid;	/* pid of last operator */
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long		shm_nattch;	/* no. of current attaches */
436b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused5;
446b9269abd64c54f11dc4aaf162d2915fccae6c77Jon Loeliger	unsigned long		__unused6;
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsstruct shminfo64 {
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	shmmax;
491da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	shmmin;
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	shmmni;
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	shmseg;
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	shmall;
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	__unused1;
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	__unused2;
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	__unused3;
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds	unsigned long	__unused4;
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds};
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
59a37c8875a764b4decf941859f4a2c63e1e86c8fajdl@freescale.com#endif	/* _ASM_POWERPC_SHMBUF_H */
60