Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
0002 #ifndef _SPARC_SHMBUF_H
0003 #define _SPARC_SHMBUF_H
0004 
0005 #include <asm/ipcbuf.h>
0006 #include <asm/posix_types.h>
0007 
0008 /* 
0009  * The shmid64_ds structure for sparc architecture.
0010  * Note extra padding because this structure is passed back and forth
0011  * between kernel and user space.
0012  *
0013  * Pad space is left for:
0014  * - 2 miscellaneous 32-bit values
0015  */
0016 
0017 struct shmid64_ds {
0018     struct ipc64_perm   shm_perm;   /* operation perms */
0019 #if defined(__sparc__) && defined(__arch64__)
0020     long            shm_atime;  /* last attach time */
0021     long            shm_dtime;  /* last detach time */
0022     long            shm_ctime;  /* last change time */
0023 #else
0024     unsigned long       shm_atime_high;
0025     unsigned long       shm_atime;  /* last attach time */
0026     unsigned long       shm_dtime_high;
0027     unsigned long       shm_dtime;  /* last detach time */
0028     unsigned long       shm_ctime_high;
0029     unsigned long       shm_ctime;  /* last change time */
0030 #endif
0031     __kernel_size_t     shm_segsz;  /* size of segment (bytes) */
0032     __kernel_pid_t      shm_cpid;   /* pid of creator */
0033     __kernel_pid_t      shm_lpid;   /* pid of last operator */
0034     unsigned long       shm_nattch; /* no. of current attaches */
0035     unsigned long       __unused1;
0036     unsigned long       __unused2;
0037 };
0038 
0039 struct shminfo64 {
0040     unsigned long   shmmax;
0041     unsigned long   shmmin;
0042     unsigned long   shmmni;
0043     unsigned long   shmseg;
0044     unsigned long   shmall;
0045     unsigned long   __unused1;
0046     unsigned long   __unused2;
0047     unsigned long   __unused3;
0048     unsigned long   __unused4;
0049 };
0050 
0051 #endif /* _SPARC_SHMBUF_H */