Data Definitions for libc
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.
inttypes.h
typedef unsigned long long uintmax_t;
typedef long long intmax_t;
typedef unsigned int uintptr_t; |
limits.h
#define ULONG_MAX 0xFFFFFFFFUL
#define LONG_MAX 2147483647L
#define CHAR_MIN 0
#define CHAR_MAX 255 |
setjmp.h
typedef int __jmp_buf[58]; |
signal.h
struct sigaction
{
union
{
__sighandler_t _sa_handler;
void (*_sa_sigaction) (int, siginfo_t *, void *);
}
__sigaction_handler;
sigset_t sa_mask;
unsigned long sa_flags;
void (*sa_restorer) (void);
}
;
struct sigcontext
{
long _unused[4];
int signal;
unsigned long handler;
unsigned long oldmask;
struct pt_regs *regs;
}
; |
stddef.h
typedef unsigned int size_t;
typedef int ptrdiff_t; |
sys/ioctl.h
#define TIOCNOTTY 0x5422
#define FIONREAD 1074030207 |
sys/ipc.h
struct ipc_perm
{
key_t __key;
uid_t uid;
gid_t gid;
uid_t cuid;
uid_t cgid;
mode_t mode;
long __seq;
int __pad1;
unsigned long long __unused1;
unsigned long long __unused2;
}
; |
sys/mman.h
#define MCL_FUTURE 16384
#define MCL_CURRENT 8192 |
sys/msg.h
typedef unsigned long msglen_t;
typedef unsigned long msgqnum_t;
struct msqid_ds
{
struct ipc_perm msg_perm;
unsigned int __unused1;
time_t msg_stime;
unsigned int __unused2;
time_t msg_rtime;
unsigned int __unused3;
time_t msg_ctime;
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;
}
; |
sys/sem.h
struct semid_ds
{
struct ipc_perm sem_perm;
unsigned int __unused1;
time_t sem_otime;
unsigned int __unused2;
time_t sem_ctime;
unsigned long sem_nsems;
unsigned long __unused3;
unsigned long __unused4;
}
; |
sys/shm.h
#define SHMLBA (__getpagesize())
typedef unsigned long shmatt_t;
struct shmid_ds
{
struct ipc_perm shm_perm;
unsigned int __unused1;
time_t shm_atime;
unsigned int __unused2;
time_t shm_dtime;
unsigned int __unused3;
time_t shm_ctime;
unsigned int __unused4;
size_t shm_segsz;
pid_t shm_cpid;
pid_t shm_lpid;
shmatt_t shm_nattch;
unsigned long __unused5;
unsigned long __unused6;
}
; |
sys/stat.h
#define _STAT_VER 3
struct stat64
{
dev_t st_dev;
ino64_t st_ino;
mode_t st_mode;
nlink_t st_nlink;
uid_t st_uid;
gid_t st_gid;
dev_t st_rdev;
unsigned short __pad2;
off64_t st_size;
blksize_t st_blksize;
blkcnt64_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 stat
{
dev_t st_dev;
unsigned short __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 short __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;
}
; |
sys/statvfs.h
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];
}
; |
termios.h
#define TAB1 1024
#define CR3 12288
#define CRDLY 12288
#define FF1 16384
#define FFDLY 16384
#define XCASE 16384
#define ONLCR 2
#define TAB2 2048
#define TAB3 3072
#define TABDLY 3072
#define BS1 32768
#define BSDLY 32768
#define OLCUC 4
#define CR1 4096
#define IUCLC 4096
#define VT1 65536
#define VTDLY 65536
#define NLDLY 768
#define CR2 8192
#define VWERASE 10
#define VREPRINT 11
#define VSUSP 12
#define VSTART 13
#define VSTOP 14
#define VDISCARD 16
#define VMIN 5
#define VEOL 6
#define VEOL2 8
#define VSWTC 9
#define IXOFF 1024
#define IXON 512
#define CSTOPB 1024
#define HUPCL 16384
#define CREAD 2048
#define CS6 256
#define CLOCAL 32768
#define PARENB 4096
#define CS7 512
#define VTIME 7
#define CS8 768
#define CSIZE 768
#define PARODD 8192
#define NOFLSH -2147483648
#define ECHOKE 1
#define IEXTEN 1024
#define ISIG 128
#define ECHONL 16
#define ECHOE 2
#define ICANON 256
#define ECHOPRT 32
#define ECHOK 4
#define TOSTOP 4194304
#define PENDIN 536870912
#define ECHOCTL 64
#define FLUSHO 8388608 |
ucontext.h
struct pt_regs
{
unsigned long gpr[32];
unsigned long nip;
unsigned long msr;
unsigned long orig_gpr3;
unsigned long ctr;
unsigned long link;
unsigned long xer;
unsigned long ccr;
unsigned long mq;
unsigned long trap;
unsigned long dar;
unsigned long dsisr;
unsigned long result;
}
;
#define NGREG 48
typedef struct sigcontext 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; |