mirror of
https://github.com/netbirdio/gvisor.git
synced 2026-05-22 17:12:49 -07:00
Correct definition of SysV IPC structures.
PiperOrigin-RevId: 195849066 Change-Id: If2146c7ce649522f86e661c5e52a9983345d6967
This commit is contained in:
+20
-14
@@ -14,7 +14,8 @@
|
||||
|
||||
package linux
|
||||
|
||||
// Control commands used with semctl. Source: //include/uapi/linux/ipc.h.
|
||||
// Control commands used with semctl, shmctl, and msgctl. Source:
|
||||
// include/uapi/linux/ipc.h.
|
||||
const (
|
||||
IPC_RMID = 0
|
||||
IPC_SET = 1
|
||||
@@ -22,7 +23,7 @@ const (
|
||||
IPC_INFO = 3
|
||||
)
|
||||
|
||||
// resource get request flags. Source: //include/uapi/linux/ipc.h
|
||||
// resource get request flags. Source: include/uapi/linux/ipc.h
|
||||
const (
|
||||
IPC_CREAT = 00001000
|
||||
IPC_EXCL = 00002000
|
||||
@@ -31,17 +32,22 @@ const (
|
||||
|
||||
const IPC_PRIVATE = 0
|
||||
|
||||
// IPCPerm is equivalent to struct ipc_perm.
|
||||
// In Linux, amd64 does not enable CONFIG_ARCH_WANT_IPC_PARSE_VERSION, so SysV
|
||||
// IPC unconditionally uses the "new" 64-bit structures that are needed for
|
||||
// features like 32-bit UIDs.
|
||||
|
||||
// IPCPerm is equivalent to struct ipc64_perm.
|
||||
type IPCPerm struct {
|
||||
Key uint32
|
||||
UID uint32
|
||||
GID uint32
|
||||
CUID uint32
|
||||
CGID uint32
|
||||
Mode uint16
|
||||
pad1 uint16
|
||||
Seq uint16
|
||||
pad2 uint16
|
||||
reserved1 uint32
|
||||
reserved2 uint32
|
||||
Key uint32
|
||||
UID uint32
|
||||
GID uint32
|
||||
CUID uint32
|
||||
CGID uint32
|
||||
Mode uint16
|
||||
pad1 uint16
|
||||
Seq uint16
|
||||
pad2 uint16
|
||||
pad3 uint32
|
||||
unused1 uint64
|
||||
unused2 uint64
|
||||
}
|
||||
|
||||
+9
-11
@@ -14,7 +14,7 @@
|
||||
|
||||
package linux
|
||||
|
||||
// semctl Command Definitions. Source: //include/uapi/linux/sem.h
|
||||
// semctl Command Definitions. Source: include/uapi/linux/sem.h
|
||||
const (
|
||||
GETPID = 11
|
||||
GETVAL = 12
|
||||
@@ -25,7 +25,7 @@ const (
|
||||
SETALL = 17
|
||||
)
|
||||
|
||||
// ipcs ctl cmds. Source: //include/uapi/linux/sem.h
|
||||
// ipcs ctl cmds. Source: include/uapi/linux/sem.h
|
||||
const (
|
||||
SEM_STAT = 18
|
||||
SEM_INFO = 19
|
||||
@@ -33,16 +33,14 @@ const (
|
||||
|
||||
const SEM_UNDO = 0x1000
|
||||
|
||||
// SemidDS is equivalent to struct semid_ds.
|
||||
// SemidDS is equivalent to struct semid64_ds.
|
||||
type SemidDS struct {
|
||||
SemPerm IPCPerm
|
||||
SemOTime TimeT
|
||||
reserved1 uint32
|
||||
SemCTime TimeT
|
||||
reserved2 uint32
|
||||
SemNSems uint32
|
||||
reserved3 uint32
|
||||
reserved4 uint32
|
||||
SemPerm IPCPerm
|
||||
SemOTime TimeT
|
||||
SemCTime TimeT
|
||||
SemNSems uint64
|
||||
unused3 uint64
|
||||
unused4 uint64
|
||||
}
|
||||
|
||||
// Sembuf is equivalent to struct sembuf.
|
||||
|
||||
Reference in New Issue
Block a user