Dr Andrew Scott G7VAV

My photo
 
June 2025
Mo Tu We Th Fr Sa Su
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 1 2 3 4 5 6


shmbuf.h
01: #ifndef __ASM_GENERIC_SHMBUF_H
02: #define __ASM_GENERIC_SHMBUF_H
03: 
04: #include <asm/bitsperlong.h>
05: 
06: /*
07:  * The shmid64_ds structure for x86 architecture.
08:  * Note extra padding because this structure is passed back and forth
09:  * 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: 
25: struct 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:         unsigned long           shm_nattch;     /* no. of current attaches */
43:         unsigned long           __unused4;
44:         unsigned long           __unused5;
45: };
46: 
47: struct shminfo64 {
48:         unsigned long   shmmax;
49:         unsigned long   shmmin;
50:         unsigned long   shmmni;
51:         unsigned long   shmseg;
52:         unsigned long   shmall;
53:         unsigned long   __unused1;
54:         unsigned long   __unused2;
55:         unsigned long   __unused3;
56:         unsigned long   __unused4;
57: };
58: 
59: #endif /* __ASM_GENERIC_SHMBUF_H */
60: 


for client (none)
© Andrew Scott 2006 - 2025,
All Rights Reserved
http://www.andrew-scott.uk/
Andrew Scott
http://www.andrew-scott.co.uk/