root/arch/mips/include/uapi/asm/shmbuf.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2 #ifndef _ASM_SHMBUF_H
   3 #define _ASM_SHMBUF_H
   4 
   5 /*
   6  * The shmid64_ds structure for the MIPS architecture.
   7  * Note extra padding because this structure is passed back and forth
   8  * between kernel and user space.
   9  *
  10  * As MIPS was lacking proper padding after shm_?time, we use 48 bits
  11  * of the padding at the end to store a few additional bits of the time.
  12  * libc implementations need to take care to convert this into a proper
  13  * data structure when moving to 64-bit time_t.
  14  */
  15 
  16 #ifdef __mips64
  17 struct shmid64_ds {
  18         struct ipc64_perm       shm_perm;       /* operation perms */
  19         size_t                  shm_segsz;      /* size of segment (bytes) */
  20         __kernel_time_t         shm_atime;      /* last attach time */
  21         __kernel_time_t         shm_dtime;      /* last detach time */
  22         __kernel_time_t         shm_ctime;      /* last change time */
  23         __kernel_pid_t          shm_cpid;       /* pid of creator */
  24         __kernel_pid_t          shm_lpid;       /* pid of last operator */
  25         unsigned long           shm_nattch;     /* no. of current attaches */
  26         unsigned long           __unused1;
  27         unsigned long           __unused2;
  28 };
  29 #else
  30 struct shmid64_ds {
  31         struct ipc64_perm       shm_perm;       /* operation perms */
  32         size_t                  shm_segsz;      /* size of segment (bytes) */
  33         unsigned long           shm_atime;      /* last attach time */
  34         unsigned long           shm_dtime;      /* last detach time */
  35         unsigned long           shm_ctime;      /* last change time */
  36         __kernel_pid_t          shm_cpid;       /* pid of creator */
  37         __kernel_pid_t          shm_lpid;       /* pid of last operator */
  38         unsigned long           shm_nattch;     /* no. of current attaches */
  39         unsigned short          shm_atime_high;
  40         unsigned short          shm_dtime_high;
  41         unsigned short          shm_ctime_high;
  42         unsigned short          __unused1;
  43 };
  44 #endif
  45 
  46 struct shminfo64 {
  47         unsigned long   shmmax;
  48         unsigned long   shmmin;
  49         unsigned long   shmmni;
  50         unsigned long   shmseg;
  51         unsigned long   shmall;
  52         unsigned long   __unused1;
  53         unsigned long   __unused2;
  54         unsigned long   __unused3;
  55         unsigned long   __unused4;
  56 };
  57 
  58 #endif /* _ASM_SHMBUF_H */

/* [<][>][^][v][top][bottom][index][help] */