1 /* 2 * include/asm-xtensa/shmbuf.h 3 * 4 * The shmid64_ds structure for Xtensa architecture. 5 * Note extra padding because this structure is passed back and forth 6 * between kernel and user space. 7 * 8 * Pad space is left for: 9 * - 64-bit time_t to solve y2038 problem 10 * - 2 miscellaneous 32-bit values 11 * 12 * This file is subject to the terms and conditions of the GNU General Public 13 * License. See the file "COPYING" in the main directory of this archive 14 * for more details. 15 * 16 * Copyright (C) 2001 - 2005 Tensilica Inc. 17 */ 18 19 #ifndef _XTENSA_SHMBUF_H 20 #define _XTENSA_SHMBUF_H 21 22 #if defined (__XTENSA_EL__) 23 struct shmid64_ds { 24 struct ipc64_perm shm_perm; /* operation perms */ 25 size_t shm_segsz; /* size of segment (bytes) */ 26 __kernel_time_t shm_atime; /* last attach time */ 27 unsigned long __unused1; 28 __kernel_time_t shm_dtime; /* last detach time */ 29 unsigned long __unused2; 30 __kernel_time_t shm_ctime; /* last change time */ 31 unsigned long __unused3; 32 __kernel_pid_t shm_cpid; /* pid of creator */ 33 __kernel_pid_t shm_lpid; /* pid of last operator */ 34 unsigned long shm_nattch; /* no. of current attaches */ 35 unsigned long __unused4; 36 unsigned long __unused5; 37 }; 38 #elif defined (__XTENSA_EB__) 39 struct shmid64_ds { 40 struct ipc64_perm shm_perm; /* operation perms */ 41 size_t shm_segsz; /* size of segment (bytes) */ 42 __kernel_time_t shm_atime; /* last attach time */ 43 unsigned long __unused1; 44 __kernel_time_t shm_dtime; /* last detach time */ 45 unsigned long __unused2; 46 __kernel_time_t shm_ctime; /* last change time */ 47 unsigned long __unused3; 48 __kernel_pid_t shm_cpid; /* pid of creator */ 49 __kernel_pid_t shm_lpid; /* pid of last operator */ 50 unsigned long shm_nattch; /* no. of current attaches */ 51 unsigned long __unused4; 52 unsigned long __unused5; 53 }; 54 #else 55 # error endian order not defined 56 #endif 57 58 59 struct shminfo64 { 60 unsigned long shmmax; 61 unsigned long shmmin; 62 unsigned long shmmni; 63 unsigned long shmseg; 64 unsigned long shmall; 65 unsigned long __unused1; 66 unsigned long __unused2; 67 unsigned long __unused3; 68 unsigned long __unused4; 69 }; 70 71 #endif /* _XTENSA_SHMBUF_H */ 72