Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/include/uapi/asm/shmbuf.h
26495 views
1
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2
#ifndef _ASM_SHMBUF_H
3
#define _ASM_SHMBUF_H
4
5
#include <asm/ipcbuf.h>
6
#include <asm/posix_types.h>
7
8
/*
9
* The shmid64_ds structure for the MIPS architecture.
10
* Note extra padding because this structure is passed back and forth
11
* between kernel and user space.
12
*
13
* As MIPS was lacking proper padding after shm_?time, we use 48 bits
14
* of the padding at the end to store a few additional bits of the time.
15
* libc implementations need to take care to convert this into a proper
16
* data structure when moving to 64-bit time_t.
17
*/
18
19
#ifdef __mips64
20
struct shmid64_ds {
21
struct ipc64_perm shm_perm; /* operation perms */
22
__kernel_size_t shm_segsz; /* size of segment (bytes) */
23
long shm_atime; /* last attach time */
24
long shm_dtime; /* last detach time */
25
long shm_ctime; /* last change time */
26
__kernel_pid_t shm_cpid; /* pid of creator */
27
__kernel_pid_t shm_lpid; /* pid of last operator */
28
unsigned long shm_nattch; /* no. of current attaches */
29
unsigned long __unused1;
30
unsigned long __unused2;
31
};
32
#else
33
struct shmid64_ds {
34
struct ipc64_perm shm_perm; /* operation perms */
35
__kernel_size_t shm_segsz; /* size of segment (bytes) */
36
unsigned long shm_atime; /* last attach time */
37
unsigned long shm_dtime; /* last detach time */
38
unsigned long shm_ctime; /* last change time */
39
__kernel_pid_t shm_cpid; /* pid of creator */
40
__kernel_pid_t shm_lpid; /* pid of last operator */
41
unsigned long shm_nattch; /* no. of current attaches */
42
unsigned short shm_atime_high;
43
unsigned short shm_dtime_high;
44
unsigned short shm_ctime_high;
45
unsigned short __unused1;
46
};
47
#endif
48
49
struct shminfo64 {
50
unsigned long shmmax;
51
unsigned long shmmin;
52
unsigned long shmmni;
53
unsigned long shmseg;
54
unsigned long shmall;
55
unsigned long __unused1;
56
unsigned long __unused2;
57
unsigned long __unused3;
58
unsigned long __unused4;
59
};
60
61
#endif /* _ASM_SHMBUF_H */
62
63