• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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