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.

errno.h




#define EDEADLOCK	58

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];
}
 ;

sys/types.h



typedef int ssize_t;

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;

unistd.h



typedef int intptr_t;