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
sembuf.h
Go to the documentation of this file.
1
#ifndef __ASM_GENERIC_SEMBUF_H
2
#define __ASM_GENERIC_SEMBUF_H
3
4
#include <asm/bitsperlong.h>
5
6
/*
7
* The semid64_ds structure for x86 architecture.
8
* Note extra padding because this structure is passed back and forth
9
* between kernel and user space.
10
*
11
* semid64_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
* Pad space is left for:
20
* - 64-bit time_t to solve y2038 problem
21
* - 2 miscellaneous 32-bit values
22
*/
23
struct
semid64_ds
{
24
struct
ipc64_perm
sem_perm
;
/* permissions .. see ipc.h */
25
__kernel_time_t
sem_otime
;
/* last semop time */
26
#if __BITS_PER_LONG != 64
27
unsigned
long
__unused1
;
28
#endif
29
__kernel_time_t
sem_ctime
;
/* last change time */
30
#if __BITS_PER_LONG != 64
31
unsigned
long
__unused2
;
32
#endif
33
unsigned
long
sem_nsems
;
/* no. of semaphores in array */
34
unsigned
long
__unused3
;
35
unsigned
long
__unused4
;
36
};
37
38
#endif
/* __ASM_GENERIC_SEMBUF_H */
Generated on Thu Jan 10 2013 12:50:26 for Linux Kernel by
1.8.2