This section contains standard data definitions that describe system data. These definitions are organized into groups that correspond to system headers. This convention is used as a convenience for the reader, and does not imply the existence of these headers, or their content.
ISO C serves as the LSB reference programming language, and data definitions are specified in ISO C format. The C language is used here as a convenient notation. Using a C language description of these data objects does not preclude their use by other programming languages.
#define EDEADLOCK EDEADLK |
typedef long long intmax_t;
typedef unsigned long long uintmax_t;
typedef unsigned int uintptr_t; |
#define ULONG_MAX 0xFFFFFFFFUL
#define LONG_MAX 2147483647
#define CHAR_MIN 0
#define CHAR_MAX 255 |
typedef int __jmp_buf[14]; |
struct sigaction
{
union
{
__sighandler_t _sa_handler;
void (*_sa_sigaction) (int, siginfo_t *, void *);
}
__sigaction_handler;
unsigned long sa_flags;
void (*sa_restorer) (void);
sigset_t sa_mask;
}
; |
typedef unsigned long size_t;
typedef int ptrdiff_t; |
#define FIONREAD 0x541B
#define TIOCNOTTY 21538 |
struct ipc_perm
{
key_t __key;
uid_t uid;
gid_t gid;
uid_t cuid;
uid_t cgid;
unsigned short mode;
unsigned short __pad1;
unsigned short __seq;
unsigned short __pad2;
unsigned long __unused1;
unsigned long __unused2;
}
; |
#define MCL_CURRENT 1
#define MCL_FUTURE 2 |
typedef unsigned long msglen_t;
typedef unsigned long msgqnum_t;
struct msqid_ds
{
struct ipc_perm msg_perm;
time_t msg_stime;
time_t msg_rtime;
unsigned long __unused1;
time_t msg_ctime;
unsigned long __unused2;
unsigned long __unused3;
unsigned long __msg_cbytes;
msgqnum_t msg_qnum;
msglen_t msg_qbytes;
pid_t msg_lspid;
pid_t msg_lrpid;
unsigned long __unused4;
unsigned long __unused5;
}
; |
struct semid_ds
{
struct ipc_perm sem_perm;
time_t sem_otime;
unsigned long __unused1;
time_t sem_ctime;
unsigned long __unused2;
unsigned long sem_nsems;
unsigned long __unused3;
unsigned long __unused4;
}
; |
#define SHMLBA (__getpagesize())
typedef unsigned long shmatt_t;
struct shmid_ds
{
struct ipc_perm shm_perm;
size_t shm_segsz;
time_t shm_atime;
unsigned long __unused1;
time_t shm_dtime;
unsigned long __unused2;
time_t shm_ctime;
unsigned long __unused3;
pid_t shm_cpid;
pid_t shm_lpid;
shmatt_t shm_nattch;
unsigned long __unused4;
unsigned long __unused5;
}
; |
#define _STAT_VER 3
struct stat
{
__dev_t st_dev;
unsigned int __pad1;
__ino_t st_ino;
__mode_t st_mode;
__nlink_t st_nlink;
__uid_t st_uid;
__gid_t st_gid;
__dev_t st_rdev;
unsigned int __pad2;
__off_t st_size;
blksize_t st_blksize;
__blkcnt_t st_blocks;
__time_t st_atime;
unsigned long __unused1;
__time_t st_mtime;
unsigned long __unused2;
__time_t st_ctime;
unsigned long __unused3;
unsigned long __unused4;
unsigned long __unused5;
}
; |
struct statvfs
{
unsigned long f_bsize;
unsigned long f_frsize;
__fsblkcnt_t f_blocks;
__fsblkcnt_t f_bfree;
__fsblkcnt_t f_bavail;
__fsfilcnt_t f_files;
__fsfilcnt_t f_ffree;
__fsfilcnt_t f_favail;
unsigned long f_fsid;
int __f_unused;
unsigned long f_flag;
unsigned long f_namemax;
int __f_spare[6];
}
;
struct statvfs64
{
unsigned long f_bsize;
unsigned long f_frsize;
__fsblkcnt64_t f_blocks;
__fsblkcnt64_t f_bfree;
__fsblkcnt64_t f_bavail;
__fsfilcnt64_t f_files;
__fsfilcnt64_t f_ffree;
__fsfilcnt64_t f_favail;
unsigned long f_fsid;
int __f_unused;
unsigned long f_flag;
unsigned long f_namemax;
int __f_spare[6];
}
; |
#define OLCUC 0000002
#define ONLCR 0000004
#define XCASE 0000004
#define NLDLY 0000400
#define CR1 0001000
#define IUCLC 0001000
#define CR2 0002000
#define CR3 0003000
#define CRDLY 0003000
#define TAB1 0004000
#define TAB2 0010000
#define TAB3 0014000
#define TABDLY 0014000
#define BS1 0020000
#define BSDLY 0020000
#define VT1 0040000
#define VTDLY 0040000
#define FF1 0100000
#define FFDLY 0100000
#define VSUSP 10
#define VEOL 11
#define VREPRINT 12
#define VDISCARD 13
#define VWERASE 14
#define VEOL2 16
#define VMIN 6
#define VSWTC 7
#define VSTART 8
#define VSTOP 9
#define IXON 0002000
#define IXOFF 0010000
#define CS6 0000020
#define CS7 0000040
#define CS8 0000060
#define CSIZE 0000060
#define CSTOPB 0000100
#define CREAD 0000200
#define PARENB 0000400
#define PARODD 0001000
#define HUPCL 0002000
#define CLOCAL 0004000
#define VTIME 5
#define ISIG 0000001
#define ICANON 0000002
#define ECHOE 0000020
#define ECHOK 0000040
#define ECHONL 0000100
#define NOFLSH 0000200
#define TOSTOP 0000400
#define ECHOCTL 0001000
#define ECHOPRT 0002000
#define ECHOKE 0004000
#define FLUSHO 0010000
#define PENDIN 0040000
#define IEXTEN 0100000 |
#define NGREG 36
typedef union
{
double d;
float f;
}
fpreg_t;
typedef struct
{
unsigned int fpc;
fpreg_t fprs[16];
}
fpregset_t;
typedef struct
{
unsigned long mask;
unsigned long addr;
}
__psw_t;
typedef struct
{
__psw_t psw;
unsigned long gregs[16];
unsigned int aregs[16];
fpregset_t fpregs;
}
mcontext_t;
typedef struct ucontext
{
unsigned long uc_flags;
struct ucontext *uc_link;
stack_t uc_stack;
mcontext_t uc_mcontext;
__sigset_t uc_sigmask;
}
ucontext_t; |