Home | History | Annotate | Download | only in asm
      1 #ifndef _ASM_X86_SHMBUF_H
      2 #define _ASM_X86_SHMBUF_H
      3 
      4 /*
      5  * The shmid64_ds structure for x86 architecture.
      6  * Note extra padding because this structure is passed back and forth
      7  * between kernel and user space.
      8  *
      9  * Pad space on 32 bit is left for:
     10  * - 64-bit time_t to solve y2038 problem
     11  * - 2 miscellaneous 32-bit values
     12  *
     13  * Pad space on 64 bit is left for:
     14  * - 2 miscellaneous 64-bit values
     15  */
     16 
     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 #ifdef __i386__
     22 	unsigned long		__unused1;
     23 #endif
     24 	__kernel_time_t		shm_dtime;	/* last detach time */
     25 #ifdef __i386__
     26 	unsigned long		__unused2;
     27 #endif
     28 	__kernel_time_t		shm_ctime;	/* last change time */
     29 #ifdef __i386__
     30 	unsigned long		__unused3;
     31 #endif
     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 
     39 struct shminfo64 {
     40 	unsigned long	shmmax;
     41 	unsigned long	shmmin;
     42 	unsigned long	shmmni;
     43 	unsigned long	shmseg;
     44 	unsigned long	shmall;
     45 	unsigned long	__unused1;
     46 	unsigned long	__unused2;
     47 	unsigned long	__unused3;
     48 	unsigned long	__unused4;
     49 };
     50 
     51 #endif /* _ASM_X86_SHMBUF_H */
     52