Chapter 16. Libraries

Table of Contents
Interfaces for libc
Data Definitions for libc
Interfaces for libm
Data Definitions for libm
Interfaces for libpthread
Data Definitions for libpthread
Interfaces for libdl
Data Definitions for libdl
Interfaces for libcrypt
Data Definitions for libcrypt

An LSB-conforming implementation shall support base libraries which provide interfaces for accessing the operating system, processor and other hardware in the system.

Only those interfaces that are unique to the PowerPC 32 platform are defined here. This section should be used in conjunction with the corresponding section in the Linux Standard Base Specification.

Interfaces for libc

The behavior of the interfaces in this library is specified by the following standards.

ISO/IEC 9899: 1999, Programming Languages --C[1]
Large File Support[2]
LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4[3]
Linux Standard Base[4]
IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996][5]
CAE Specification, February 1997, Networking Services (XNS), Issue 5 (ISBN: 1-85912-165-9, C523)[6]
CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 (ISBN: 1-85912-181-0, C606)[7]
System V Interface Definition, Issue 3 (ISBN 0201566524)[8]
System V Interface Definition,Fourth Edition[9]

System Calls

Table 16-3. libc - System Calls Function Interfaces

__fxstat(GLIBC_2.0)[4]fchown(GLIBC_2.0)[7]ioctl(GLIBC_2.0)[7]readdir(GLIBC_2.0)[7]setsid(GLIBC_2.0)[7]
__getpgid(GLIBC_2.0)[4]fcntl(GLIBC_2.0)[7]kill(GLIBC_2.0)[4]readdir_r(GLIBC_2.0)[7]setuid(GLIBC_2.0)[7]
__lxstat(GLIBC_2.0)[4]fdatasync(GLIBC_2.0)[7]killpg(GLIBC_2.0)[7]readlink(GLIBC_2.0)[7]sleep(GLIBC_2.0)[7]
__xmknod(GLIBC_2.0)[4]flock(GLIBC_2.0)[4]lchown(GLIBC_2.0)[7]readv(GLIBC_2.0)[7]statfs(GLIBC_2.0)[4]
__xstat(GLIBC_2.0)[4]fork(GLIBC_2.0)[7]link(GLIBC_2.0)[7]rename(GLIBC_2.0)[7]statvfs(GLIBC_2.0)[7]
access(GLIBC_2.0)[7]fstatfs(GLIBC_2.0)[4]lockf(GLIBC_2.0)[7]rmdir(GLIBC_2.0)[7]stime(GLIBC_2.0)[4]
acct(GLIBC_2.0)[4]fsync(GLIBC_2.0)[7]lseek(GLIBC_2.0)[7]sbrk(GLIBC_2.0)[7]symlink(GLIBC_2.0)[7]
alarm(GLIBC_2.0)[7]ftime(GLIBC_2.0)[7]mkdir(GLIBC_2.0)[7]sched_get_priority_max(GLIBC_2.0)[7]sync(GLIBC_2.0)[7]
brk(GLIBC_2.0)[7]ftruncate(GLIBC_2.0)[7]mkfifo(GLIBC_2.0)[7]sched_get_priority_min(GLIBC_2.0)[7]sysconf(GLIBC_2.0)[7]
chdir(GLIBC_2.0)[7]getcontext(GLIBC_2.0)[7]mlock(GLIBC_2.0)[7]sched_getparam(GLIBC_2.0)[7]time(GLIBC_2.0)[7]
chmod(GLIBC_2.0)[7]getegid(GLIBC_2.0)[7]mlockall(GLIBC_2.0)[7]sched_getscheduler(GLIBC_2.0)[7]times(GLIBC_2.0)[7]
chown(GLIBC_2.1)[7]geteuid(GLIBC_2.1)[7]mmap(GLIBC_2.1)[7]sched_rr_get_interval(GLIBC_2.1)[7]truncate(GLIBC_2.1)[7]
chroot(GLIBC_2.0)[7]getgid(GLIBC_2.0)[7]mprotect(GLIBC_2.0)[7]sched_setparam(GLIBC_2.0)[7]ulimit(GLIBC_2.0)[7]
clock(GLIBC_2.0)[7]getgroups(GLIBC_2.0)[7]msync(GLIBC_2.0)[7]sched_setscheduler(GLIBC_2.0)[7]umask(GLIBC_2.0)[7]
close(GLIBC_2.0)[7]getitimer(GLIBC_2.0)[7]munlock(GLIBC_2.0)[7]sched_yield(GLIBC_2.0)[7]uname(GLIBC_2.0)[7]
closedir(GLIBC_2.0)[7]getloadavg(GLIBC_2.0)[4]munlockall(GLIBC_2.0)[7]select(GLIBC_2.0)[6]unlink(GLIBC_2.0)[4]
creat(GLIBC_2.0)[7]getpagesize(GLIBC_2.0)[7]munmap(GLIBC_2.0)[7]setcontext(GLIBC_2.0)[7]utime(GLIBC_2.0)[7]
dup(GLIBC_2.0)[7]getpgid(GLIBC_2.0)[7]nanosleep(GLIBC_2.0)[7]setegid(GLIBC_2.0)[4]utimes(GLIBC_2.0)[7]
dup2(GLIBC_2.0)[7]getpgrp(GLIBC_2.0)[7]nice(GLIBC_2.0)[7]seteuid(GLIBC_2.0)[4]vfork(GLIBC_2.0)[7]
execl(GLIBC_2.0)[7]getpid(GLIBC_2.0)[7]open(GLIBC_2.0)[7]setgid(GLIBC_2.0)[7]wait(GLIBC_2.0)[7]
execle(GLIBC_2.0)[7]getppid(GLIBC_2.0)[7]opendir(GLIBC_2.0)[7]setitimer(GLIBC_2.0)[7]wait3(GLIBC_2.0)[7]
execlp(GLIBC_2.0)[7]getpriority(GLIBC_2.0)[7]pathconf(GLIBC_2.0)[7]setpgid(GLIBC_2.0)[7]wait4(GLIBC_2.0)[4]
execv(GLIBC_2.0)[7]getrlimit(GLIBC_2.0)[7]pause(GLIBC_2.0)[7]setpgrp(GLIBC_2.0)[7]waitid(GLIBC_2.0)[7]
execve(GLIBC_2.0)[7]getrusage(GLIBC_2.0)[7]pipe(GLIBC_2.0)[7]setpriority(GLIBC_2.0)[7]waitpid(GLIBC_2.0)[7]
execvp(GLIBC_2.0)[7]getsid(GLIBC_2.0)[7]poll(GLIBC_2.0)[7]setregid(GLIBC_2.0)[7]write(GLIBC_2.0)[7]
exit(GLIBC_2.0)[7]getuid(GLIBC_2.0)[7]pread(GLIBC_2.0)[7]setreuid(GLIBC_2.0)[7]writev(GLIBC_2.0)[7]
fchdir(GLIBC_2.0)[7]getwd(GLIBC_2.0)[7]pwrite(GLIBC_2.0)[7]setrlimit(GLIBC_2.0)[7] 
fchmod(GLIBC_2.0)[7]initgroups(GLIBC_2.0)[4]read(GLIBC_2.0)[7]setrlimit64(GLIBC_2.0)[2] 

Standard I/O

Table 16-4. libc - Standard I/O Function Interfaces

_IO_feof(GLIBC_2.0)[4]fgetpos(GLIBC_2.0)[7]fsetpos(GLIBC_2.0)[7]putc(GLIBC_2.0)[7]snprintf(GLIBC_2.0)[7]
_IO_getc(GLIBC_2.0)[4]fgets(GLIBC_2.0)[7]fstatvfs(GLIBC_2.0)[7]putc_unlocked(GLIBC_2.0)[7]sprintf(GLIBC_2.0)[7]
_IO_putc(GLIBC_2.0)[4]fgetwc_unlocked(GLIBC_2.0)[7]ftell(GLIBC_2.0)[7]putchar(GLIBC_2.0)[7]sscanf(GLIBC_2.0)[7]
_IO_puts(GLIBC_2.0)[4]fileno(GLIBC_2.0)[7]ftello(GLIBC_2.0)[7]putchar_unlocked(GLIBC_2.0)[7]telldir(GLIBC_2.0)[7]
alphasort(GLIBC_2.0)[4]flockfile(GLIBC_2.0)[7]fwrite(GLIBC_2.0)[7]puts(GLIBC_2.0)[7]tempnam(GLIBC_2.0)[7]
clearerr(GLIBC_2.0)[7]fopen(GLIBC_2.0)[7]getc(GLIBC_2.0)[7]putw(GLIBC_2.0)[7]ungetc(GLIBC_2.0)[7]
ctermid(GLIBC_2.0)[7]fprintf(GLIBC_2.0)[7]getc_unlocked(GLIBC_2.0)[7]remove(GLIBC_2.0)[7]vasprintf(GLIBC_2.0)[4]
fclose(GLIBC_2.1)[7]fputc(GLIBC_2.1)[7]getchar(GLIBC_2.1)[7]rewind(GLIBC_2.1)[7]vdprintf(GLIBC_2.1)[4]
fdopen(GLIBC_2.1)[7]fputs(GLIBC_2.1)[7]getchar_unlocked(GLIBC_2.1)[7]rewinddir(GLIBC_2.1)[7]vfprintf(GLIBC_2.1)[7]
feof(GLIBC_2.0)[7]fread(GLIBC_2.0)[7]gets(GLIBC_2.0)[7]scanf(GLIBC_2.0)[7]vprintf(GLIBC_2.0)[7]
ferror(GLIBC_2.0)[7]freopen(GLIBC_2.0)[7]getw(GLIBC_2.0)[7]seekdir(GLIBC_2.0)[7]vsnprintf(GLIBC_2.0)[7]
fflush(GLIBC_2.0)[7]fscanf(GLIBC_2.0)[7]pclose(GLIBC_2.0)[7]setbuf(GLIBC_2.0)[7]vsprintf(GLIBC_2.0)[7]
fflush_unlocked(GLIBC_2.0)[7]fseek(GLIBC_2.0)[7]popen(GLIBC_2.0)[7]setbuffer(GLIBC_2.0)[4]wprintf(GLIBC_2.0)[1]
fgetc(GLIBC_2.0)[7]fseeko(GLIBC_2.0)[7]printf(GLIBC_2.0)[7]setvbuf(GLIBC_2.0)[7]wscanf(GLIBC_2.0)[1]

Standard Library

Table 16-8. libc - Standard Library Function Interfaces

_Exit(GLIBC_2.1.1)[1]erand48(GLIBC_2.1.1)[7]hsearch(GLIBC_2.1.1)[7]malloc(GLIBC_2.1.1)[7]srand48(GLIBC_2.1.1)[7]
__assert_fail(GLIBC_2.0)[4]err(GLIBC_2.0)[4]htonl(GLIBC_2.0)[6]memmem(GLIBC_2.0)[4]srandom(GLIBC_2.0)[7]
__cxa_atexit(GLIBC_2.1.3)[4]error(GLIBC_2.1.3)[4]htons(GLIBC_2.1.3)[6]mkstemp(GLIBC_2.1.3)[7]strtod(GLIBC_2.1.3)[7]
__errno_location(GLIBC_2.0)[4]errx(GLIBC_2.0)[4]imaxabs(GLIBC_2.0)[1]mktemp(GLIBC_2.0)[7]strtol(GLIBC_2.0)[7]
__fpending(GLIBC_2.2)[4]fcvt(GLIBC_2.2)[7]imaxdiv(GLIBC_2.2)[1]mrand48(GLIBC_2.2)[7]strtoul(GLIBC_2.2)[7]
__getpagesize(GLIBC_2.0)[4]fmtmsg(GLIBC_2.0)[7]inet_addr(GLIBC_2.0)[6]nftw(GLIBC_2.0)[7]swapcontext(GLIBC_2.0)[7]
__sysconf(GLIBC_2.2)[4]fnmatch(GLIBC_2.2)[7]inet_aton(GLIBC_2.2)[6]nrand48(GLIBC_2.2)[7]syslog(GLIBC_2.2)[7]
_exit(GLIBC_2.0)[7]fpathconf(GLIBC_2.0)[7]inet_ntoa(GLIBC_2.0)[6]ntohl(GLIBC_2.0)[6]system(GLIBC_2.0)[4]
_longjmp(GLIBC_2.0)[7]free(GLIBC_2.0)[7]initstate(GLIBC_2.0)[7]ntohs(GLIBC_2.0)[6]textdomain(GLIBC_2.0)[3]
_setjmp(GLIBC_2.0)[7]ftrylockfile(GLIBC_2.0)[7]insque(GLIBC_2.0)[7]openlog(GLIBC_2.0)[7]tfind(GLIBC_2.0)[7]
a64l(GLIBC_2.0)[7]ftw(GLIBC_2.0)[7]isatty(GLIBC_2.0)[7]perror(GLIBC_2.0)[7]tmpfile(GLIBC_2.0)[7]
abort(GLIBC_2.0)[7]funlockfile(GLIBC_2.0)[7]isblank(GLIBC_2.0)[4]posix_memalign(GLIBC_2.0)[5]tmpnam(GLIBC_2.0)[7]
abs(GLIBC_2.0)[7]gcvt(GLIBC_2.0)[7]isinf(GLIBC_2.0)[1]ptsname(GLIBC_2.0)[7]tsearch(GLIBC_2.0)[7]
atexit(GLIBC_2.0)[7]getcwd(GLIBC_2.0)[7]isinfl(GLIBC_2.0)[1]putenv(GLIBC_2.0)[7]ttyname(GLIBC_2.0)[7]
atof(GLIBC_2.0)[7]getdate(GLIBC_2.0)[7]isnan(GLIBC_2.0)[1]qsort(GLIBC_2.0)[7]ttyname_r(GLIBC_2.0)[7]
atoi(GLIBC_2.0)[7]getenv(GLIBC_2.0)[7]isnanf(GLIBC_2.0)[1]rand(GLIBC_2.0)[7]twalk(GLIBC_2.0)[7]
atol(GLIBC_2.0)[7]getlogin(GLIBC_2.0)[7]isnanl(GLIBC_2.0)[1]rand_r(GLIBC_2.0)[7]unlockpt(GLIBC_2.0)[7]
basename(GLIBC_2.0)[7]getopt(GLIBC_2.0)[4]jrand48(GLIBC_2.0)[7]random(GLIBC_2.0)[7]unsetenv(GLIBC_2.0)[4]
bindtextdomain(GLIBC_2.0)[3]getopt_long(GLIBC_2.0)[4]l64a(GLIBC_2.0)[7]random_r(GLIBC_2.0)[4]usleep(GLIBC_2.0)[7]
bsearch(GLIBC_2.0)[7]getopt_long_only(GLIBC_2.0)[4]labs(GLIBC_2.0)[7]realloc(GLIBC_2.0)[7]verrx(GLIBC_2.0)[4]
calloc(GLIBC_2.0)[7]getsubopt(GLIBC_2.0)[7]lcong48(GLIBC_2.0)[7]realpath(GLIBC_2.0)[7]vsyslog(GLIBC_2.0)[4]
closelog(GLIBC_2.0)[7]gettimeofday(GLIBC_2.0)[7]ldiv(GLIBC_2.0)[7]remque(GLIBC_2.0)[7]warn(GLIBC_2.0)[4]
confstr(GLIBC_2.0)[7]glob(GLIBC_2.0)[7]lfind(GLIBC_2.0)[7]seed48(GLIBC_2.0)[7]warnx(GLIBC_2.0)[4]
cuserid(GLIBC_2.0)[7]glob64(GLIBC_2.0)[4]llabs(GLIBC_2.0)[1]setenv(GLIBC_2.0)[4]wordexp(GLIBC_2.0)[7]
daemon(GLIBC_2.0)[4]globfree(GLIBC_2.0)[7]lldiv(GLIBC_2.0)[1]sethostid(GLIBC_2.0)[4]wordfree(GLIBC_2.0)[7]
dirname(GLIBC_2.0)[7]globfree64(GLIBC_2.0)[4]longjmp(GLIBC_2.0)[7]sethostname(GLIBC_2.0)[4] 
div(GLIBC_2.0)[7]grantpt(GLIBC_2.0)[7]lrand48(GLIBC_2.0)[7]setlogmask(GLIBC_2.0)[7] 
drand48(GLIBC_2.0)[7]hcreate(GLIBC_2.0)[7]lsearch(GLIBC_2.0)[7]setstate(GLIBC_2.0)[7] 
ecvt(GLIBC_2.0)[7]hdestroy(GLIBC_2.0)[7]makecontext(GLIBC_2.0)[7]srand(GLIBC_2.0)[7] 

Wide Characters

Table 16-13. libc - Wide Characters Function Interfaces

__wcstod_internal(GLIBC_2.0)[4]mbrlen(GLIBC_2.0)[7]vswscanf(GLIBC_2.0)[1]wcsncmp(GLIBC_2.0)[7]wcstoul(GLIBC_2.0)[7]
__wcstof_internal(GLIBC_2.0)[4]mbrtowc(GLIBC_2.0)[7]vwprintf(GLIBC_2.0)[1]wcsncpy(GLIBC_2.0)[7]wcstoull(GLIBC_2.0)[1]
__wcstol_internal(GLIBC_2.0)[4]mbsinit(GLIBC_2.0)[7]vwscanf(GLIBC_2.0)[1]wcsnlen(GLIBC_2.0)[4]wcstoumax(GLIBC_2.0)[1]
__wcstold_internal(GLIBC_2.0)[4]mbsnrtowcs(GLIBC_2.0)[4]wcpcpy(GLIBC_2.0)[4]wcsnrtombs(GLIBC_2.0)[4]wcstouq(GLIBC_2.0)[4]
__wcstoul_internal(GLIBC_2.0)[4]mbsrtowcs(GLIBC_2.0)[7]wcpncpy(GLIBC_2.0)[4]wcspbrk(GLIBC_2.0)[1]wcswcs(GLIBC_2.0)[7]
btowc(GLIBC_2.0)[7]mbstowcs(GLIBC_2.0)[7]wcrtomb(GLIBC_2.0)[7]wcsrchr(GLIBC_2.0)[7]wcswidth(GLIBC_2.0)[7]
fgetwc(GLIBC_2.2)[7]mbtowc(GLIBC_2.2)[7]wcscasecmp(GLIBC_2.2)[4]wcsrtombs(GLIBC_2.2)[7]wcsxfrm(GLIBC_2.2)[7]
fgetws(GLIBC_2.2)[1]putwc(GLIBC_2.2)[1]wcscat(GLIBC_2.2)[7]wcsspn(GLIBC_2.2)[7]wctob(GLIBC_2.2)[7]
fputwc(GLIBC_2.2)[1]putwchar(GLIBC_2.2)[1]wcschr(GLIBC_2.2)[7]wcsstr(GLIBC_2.2)[7]wctomb(GLIBC_2.2)[7]
fputws(GLIBC_2.2)[1]swprintf(GLIBC_2.2)[7]wcscmp(GLIBC_2.2)[7]wcstod(GLIBC_2.2)[7]wctrans(GLIBC_2.2)[7]
fwide(GLIBC_2.2)[1]swscanf(GLIBC_2.2)[1]wcscoll(GLIBC_2.2)[7]wcstof(GLIBC_2.2)[1]wctype(GLIBC_2.2)[7]
fwprintf(GLIBC_2.2)[4]towctrans(GLIBC_2.2)[7]wcscpy(GLIBC_2.2)[7]wcstoimax(GLIBC_2.2)[1]wcwidth(GLIBC_2.2)[7]
fwscanf(GLIBC_2.2)[1]towlower(GLIBC_2.2)[1]wcscspn(GLIBC_2.2)[7]wcstok(GLIBC_2.2)[7]wmemchr(GLIBC_2.2)[7]
getwc(GLIBC_2.2)[1]towupper(GLIBC_2.2)[7]wcsdup(GLIBC_2.2)[4]wcstol(GLIBC_2.2)[7]wmemcmp(GLIBC_2.2)[7]
getwchar(GLIBC_2.2)[7]ungetwc(GLIBC_2.2)[1]wcsftime(GLIBC_2.2)[1]wcstold(GLIBC_2.2)[1]wmemcpy(GLIBC_2.2)[7]
iconv_close(GLIBC_2.1)[7]vfwprintf(GLIBC_2.1)[1]wcslen(GLIBC_2.1)[7]wcstoll(GLIBC_2.1)[1]wmemmove(GLIBC_2.1)[7]
iconv_open(GLIBC_2.1)[7]vfwscanf(GLIBC_2.1)[1]wcsncasecmp(GLIBC_2.1)[4]wcstombs(GLIBC_2.1)[7]wmemset(GLIBC_2.1)[7]
mblen(GLIBC_2.0)[7]vswprintf(GLIBC_2.0)[1]wcsncat(GLIBC_2.0)[7]wcstoq(GLIBC_2.0)[4] 

String Functions

Table 16-14. libc - String Functions Function Interfaces

__mempcpy(GLIBC_2.0)[4]bzero(GLIBC_2.0)[7]strcasestr(GLIBC_2.0)[4]strncasecmp(GLIBC_2.0)[7]strtoimax(GLIBC_2.0)[1]
__rawmemchr(GLIBC_2.1)[4]ffs(GLIBC_2.1)[7]strcat(GLIBC_2.1)[7]strncat(GLIBC_2.1)[7]strtok(GLIBC_2.1)[7]
__stpcpy(GLIBC_2.0)[4]index(GLIBC_2.0)[7]strchr(GLIBC_2.0)[7]strncmp(GLIBC_2.0)[7]strtok_r(GLIBC_2.0)[4]
__strdup(GLIBC_2.0)[4]memccpy(GLIBC_2.0)[7]strcmp(GLIBC_2.0)[7]strncpy(GLIBC_2.0)[7]strtold(GLIBC_2.0)[1]
__strtod_internal(GLIBC_2.0)[4]memchr(GLIBC_2.0)[7]strcoll(GLIBC_2.0)[7]strndup(GLIBC_2.0)[4]strtoll(GLIBC_2.0)[1]
__strtof_internal(GLIBC_2.0)[4]memcmp(GLIBC_2.0)[7]strcpy(GLIBC_2.0)[7]strnlen(GLIBC_2.0)[4]strtoq(GLIBC_2.0)[4]
__strtok_r(GLIBC_2.0)[4]memcpy(GLIBC_2.0)[7]strcspn(GLIBC_2.0)[7]strpbrk(GLIBC_2.0)[7]strtoull(GLIBC_2.0)[1]
__strtol_internal(GLIBC_2.0)[4]memmove(GLIBC_2.0)[7]strdup(GLIBC_2.0)[7]strptime(GLIBC_2.0)[4]strtoumax(GLIBC_2.0)[1]
__strtold_internal(GLIBC_2.0)[4]memrchr(GLIBC_2.0)[4]strerror(GLIBC_2.0)[7]strrchr(GLIBC_2.0)[7]strtouq(GLIBC_2.0)[4]
__strtoll_internal(GLIBC_2.0)[4]memset(GLIBC_2.0)[7]strerror_r(GLIBC_2.0)[4]strsep(GLIBC_2.0)[4]strverscmp(GLIBC_2.0)[4]
__strtoul_internal(GLIBC_2.0)[4]rindex(GLIBC_2.0)[7]strfmon(GLIBC_2.0)[7]strsignal(GLIBC_2.0)[4]strxfrm(GLIBC_2.0)[7]
__strtoull_internal(GLIBC_2.0)[4]stpcpy(GLIBC_2.0)[4]strfry(GLIBC_2.0)[4]strspn(GLIBC_2.0)[7]swab(GLIBC_2.0)[7]
bcmp(GLIBC_2.0)[7]stpncpy(GLIBC_2.0)[4]strftime(GLIBC_2.0)[7]strstr(GLIBC_2.0)[7] 
bcopy(GLIBC_2.0)[7]strcasecmp(GLIBC_2.0)[7]strlen(GLIBC_2.0)[7]strtof(GLIBC_2.0)[1] 

Notes

[1]

ISO/IEC 9899: 1999, Programming Languages --C

[2]

Large File Support

[3]

LI18NUX 2000 Globalization Specification, Version 1.0 with Amendment 4

[4]

Linux Standard Base

[5]

IEEE Std POSIX.1-1996 [ISO/IEC 9945-1:1996]

[6]

CAE Specification, February 1997, Networking Services (XNS), Issue 5 (ISBN: 1-85912-165-9, C523)

[7]

CAE Specification, January 1997, System Interfaces and Headers (XSH), Issue 5 (ISBN: 1-85912-181-0, C606)

[8]

System V Interface Definition, Issue 3 (ISBN 0201566524)

[9]

System V Interface Definition,Fourth Edition