Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
include
uapi
asm-generic
msgbuf.h
Go to the documentation of this file.
1
#ifndef __ASM_GENERIC_MSGBUF_H
2
#define __ASM_GENERIC_MSGBUF_H
3
4
#include <asm/bitsperlong.h>
5
/*
6
* generic msqid64_ds structure.
7
*
8
* Note extra padding because this structure is passed back and forth
9
* between kernel and user space.
10
*
11
* msqid64_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 three padding words.
17
* On big-endian systems, the padding is in the wrong place.
18
*
19
* Pad space is left for:
20
* - 64-bit time_t to solve y2038 problem
21
* - 2 miscellaneous 32-bit values
22
*/
23
24
struct
msqid64_ds
{
25
struct
ipc64_perm
msg_perm
;
26
__kernel_time_t
msg_stime
;
/* last msgsnd time */
27
#if __BITS_PER_LONG != 64
28
unsigned
long
__unused1
;
29
#endif
30
__kernel_time_t
msg_rtime
;
/* last msgrcv time */
31
#if __BITS_PER_LONG != 64
32
unsigned
long
__unused2
;
33
#endif
34
__kernel_time_t
msg_ctime
;
/* last change time */
35
#if __BITS_PER_LONG != 64
36
unsigned
long
__unused3
;
37
#endif
38
unsigned
long
msg_cbytes
;
/* current number of bytes on queue */
39
unsigned
long
msg_qnum
;
/* number of messages in queue */
40
unsigned
long
msg_qbytes
;
/* max number of bytes on queue */
41
__kernel_pid_t
msg_lspid
;
/* pid of last msgsnd */
42
__kernel_pid_t
msg_lrpid
;
/* last receive pid */
43
unsigned
long
__unused4
;
44
unsigned
long
__unused5
;
45
};
46
47
#endif
/* __ASM_GENERIC_MSGBUF_H */
Generated on Thu Jan 10 2013 12:50:01 for Linux Kernel by
1.8.2