linux/include/uapi/asm-generic/shmbuf.h
<<
>>
Prefs
   1#ifndef __ASM_GENERIC_SHMBUF_H
   2#define __ASM_GENERIC_SHMBUF_H
   3
   4#include <asm/bitsperlong.h>
   5
   6/*
   7 * The shmid64_ds structure for x86 architecture.
   8 * Note extra padding because this structure is passed back and forth
   9 * between kernel and user space.
  10 *
  11 * shmid64_ds was originally meant to be architecture specific, but
  12 * everyone just ended up making identical copies without specific
  13 * optimizations, so we may just as well all use the same one.
  14 *
  15 * 64 bit architectures typically define a 64 bit __kernel_time_t,
  16 * so they do not need the first two padding words.
  17 * On big-endian systems, the padding is in the wrong place.
  18 *
  19 *
  20 * Pad space is left for:
  21 * - 64-bit time_t to solve y2038 problem
  22 * - 2 miscellaneous 32-bit values
  23 */
  24
  25struct shmid64_ds {
  26        struct ipc64_perm       shm_perm;       /* operation perms */
  27        size_t                  shm_segsz;      /* size of segment (bytes) */
  28        __kernel_time_t         shm_atime;      /* last attach time */
  29#if __BITS_PER_LONG != 64
  30        unsigned long           __unused1;
  31#endif
  32        __kernel_time_t         shm_dtime;      /* last detach time */
  33#if __BITS_PER_LONG != 64
  34        unsigned long           __unused2;
  35#endif
  36        __kernel_time_t         shm_ctime;      /* last change time */
  37#if __BITS_PER_LONG != 64
  38        unsigned long           __unused3;
  39#endif
  40        __kernel_pid_t          shm_cpid;       /* pid of creator */
  41        __kernel_pid_t          shm_lpid;       /* pid of last operator */
  42        __kernel_ulong_t        shm_nattch;     /* no. of current attaches */
  43        __kernel_ulong_t        __unused4;
  44        __kernel_ulong_t        __unused5;
  45};
  46
  47struct shminfo64 {
  48        __kernel_ulong_t        shmmax;
  49        __kernel_ulong_t        shmmin;
  50        __kernel_ulong_t        shmmni;
  51        __kernel_ulong_t        shmseg;
  52        __kernel_ulong_t        shmall;
  53        __kernel_ulong_t        __unused1;
  54        __kernel_ulong_t        __unused2;
  55        __kernel_ulong_t        __unused3;
  56        __kernel_ulong_t        __unused4;
  57};
  58
  59#endif /* __ASM_GENERIC_SHMBUF_H */
  60