Interface Libraries libc(3LIB)
NAME
libc - C library
DESCRIPTION
Functions in this library provide various facilities defined
by System V, ANSI C, POSIX, and so on. See standards(5). In
addition, those facilities previously defined in the inter-
nationalization and the wide-character libraries are now
defined in this library, as are the facilities previously
defined in the multithreading libraries, libthread and
libpthread.
INTERFACES
The shared object libc.so.1 provides the public interfaces
defined below. See Intro(3) for additional information on
shared object interfaces.
loc1 errno
builtinalloca ctype
fbufsize flbf
fltrounds fpending
fpurge freadable
freading fsetlocking
fwritable fwriting
hugeval iob
loc1 major
makedev minor
nswextendedaction nswfreeconfig
nswgetconfig posixasctimer
posixctimer posixgetgrgidr
posixgetgrnamr posixgetloginr
posixgetpwnamr posixgetpwuidr
posixsigwait posixttynamer
priocntl priocntlset
pthreadcleanuppop pthreadcleanuppush
sysconfxpg5 xpg4
xpg4putmsg xpg4putpmsg
Exit altzone
assert cleanup
ctype daylight
environ exit
exithandle filbuf
flsbuf flushlbf
getdateerr getdateerraddr
iob isnan
isnand lwpcondbroadcast
lwpcondreltimedwait lwpcondsignal
lwpcondtimedwait lwpcondwait
lwpcontinue lwpinfo
lwpkill lwpmutexlock
SunOS 5.11 Last change: 20 Feb 2009 1
Interface Libraries libc(3LIB)
lwpmutextrylock lwpmutexunlock
lwpself lwpsemainit
lwpsemapost lwpsematrywait
lwpsemawait lwpsuspend
lwpsuspend2 modf
nextafter nsctrydoorcall
nssXbyYbufalloc nssXbyYbuffree
nssnetdbaliases numeric
scalb sibuf
sobuf stackgrow
sysbuslist syscldlist
sysfpelist sysilllist
syssegvlist syssiginfolistp
syssiglist syssiglistn
syssiglistp systraplist
timezone tolower
toupper tzname
xftw
a64l abort
abs access
acct acl
addrtosymstr addsev
addseverity adjtime
aiocancel aioerror
aiofsync aioread
aioreturn aiosuspend
aiowaitn aiowrite
aiocancel aioread
aiowait aiowrite
alarm alphasort
altzone ascftime
asctime asctimer
asprintf
atexit atof
atoi atol
atoll atomicadd16
atomicadd16nv atomicadd32
atomicadd32nv atomicadd64
atomicadd64nv atomicadd8
atomicadd8nv atomicaddchar
atomicaddcharnv atomicaddint
atomicaddintnv atomicaddlong
atomicaddlongnv atomicaddptr
atomicaddptrnv atomicaddshort
atomicaddshortnv atomicand16
atomicand16nv atomicand32
atomicand32nv atomicand64
atomicand64nv atomicand8
atomicand8nv atomicanduchar
atomicanducharnv atomicanduint
atomicanduintnv atomicandulong
atomicandulongnv atomicandushort
SunOS 5.11 Last change: 20 Feb 2009 2
Interface Libraries libc(3LIB)
atomicandushortnv atomiccas16
atomiccas32 atomiccas64
atomiccas8 atomiccasptr
atomiccasuchar atomiccasuint
atomiccasulong atomiccasushort
atomicclearlongexcl atomicdec16
atomicdec16nv atomicdec32
atomicdec32nv atomicdec64
atomicdec64nv atomicdec8
atomicdec8nv atomicdecptr
atomicdecptrnv atomicdecuchar
atomicdecucharnv atomicdecuint
atomicdecuintnv atomicdeculong
atomicdeculongnv atomicdecushort
atomicdecushortnv atomicinc16
atomicinc16nv atomicinc32
atomicinc32nv atomicinc64
atomicinc64nv atomicinc8
atomicinc8nv atomicincptr
atomicincptrnv atomicincuchar
atomicincucharnv atomicincuint
atomicincuintnv atomicinculong
atomicinculongnv atomicincushort
atomicincushortnv atomicor16
atomicor16nv atomicor32
atomicor32nv atomicor64
atomicor64nv atomicor8
atomicor8nv atomicoruchar
atomicorucharnv atomicoruint
atomicoruintnv atomicorulong
atomicorulongnv atomicorushort
atomicorushortnv atomicsetlongexcl
atomicswap16 atomicswap32
atomicswap64 atomicswap8
atomicswapptr atomicswapuchar
atomicswapuint atomicswapulong
atomicswapushort attropen
backtrace backtracesymbols
backtracesymbolsfd basename
bcmp bcopy
bindtextdomain bindtextdomaincodeset
brk bsdsignal
bsearch btowc
bzero calloc
catclose catgets
catopen cfgetispeed
cfgetospeed cfsetispeed
cfsetospeed cftime
chdir chmod
chown chroot
clearerr clock
clockgetres clockgettime
SunOS 5.11 Last change: 20 Feb 2009 3
Interface Libraries libc(3LIB)
clocknanosleep clocksettime
close closedir
closefrom closelog
condbroadcast conddestroy
condinit condreltimedwait
condsignal condtimedwait
condwait confstr
creat crypt
cryptgenhashimpl cryptgensalt
cryptgensaltimpl csetcol
csetlen ctermid
ctermidr ctime
ctimer cuserid
daylight dbmclearerr
dbmclose dbmdelete
dbmerror dbmfetch
dbmfirstkey dbmnextkey
dbmopen dbmstore
dcgettext dcngettext
decimaltodouble decimaltoextended
decimaltoquadruple decimaltosingle
dgettext difftime
directio dirfd
dirname div
dladdr dladdr1
dlclose dldump
dlerror dlinfo
dlmopen dlopen
dlsym dngettext
doorbind doorcall
doorcreate doorcred
doorgetparam doorinfo
doorreturn doorrevoke
doorservercreate doorsetparam
doorucred doorunbind
doubletodecimal drand48
dup dup2
econvert ecvt
enableextendedFILEstdio
encrypt endgrent
endnetgrent endpwent
endspent endusershell
endutent endutxent
environ erand48
err errno
errx euccol
euclen eucscol
execl execle
execlp execv
execve execvp
exit extendedtodecimal
facl fattach
SunOS 5.11 Last change: 20 Feb 2009 4
Interface Libraries libc(3LIB)
fchdir fchmod
fchown fchownat
fchroot fclose
fcntl fconvert
fcvt fdatasync
fdetach
fdopen fdopendir
fdwalk feof
ferror fflush
ffs fgetattr
fgetc
fgetgrent fgetgrentr
fgetpos fgetpwent
fgetpwentr fgets
fgetspent fgetspentr
fgetwc fgetws
filetodecimal fileno
finite flockfile
fmtmsg fnmatch
fopen fork
fork1 forkall
forkallx forkx
fpathconf fpclass
fpgetmask fpgetround
fpgetsticky fprintf
fpsetmask fpsetround
fpsetsticky fputc
fputs fputwc
fputws fread
free freopen
frexp fscanf
fseek fseeko
fsetattr
fsetpos fstat
fstatat fstatfs
fstatvfs fsync
ftell ftello
ftime ftok
ftruncate ftrylockfile
ftw functodecimal
funlockfile futimesat
fwide fwprintf
fwrite fwscanf
gconvert gcvt
getacct getattrat
getc
getcunlocked getchar
getcharunlocked getcontext
getcpuid getcwd
getdate getdateerr
getdents getdtablesize
getegid getenv
SunOS 5.11 Last change: 20 Feb 2009 5
Interface Libraries libc(3LIB)
geteuid getexecname
getextmntent getgid
getgrent getgrentr
getgrgid getgrgidr
getgrnam getgrnamr
getgroups gethomelgroup
gethostid gethostname
gethrtime gethrvtime
getisax getitimer
getloadavg getlogin
getloginr getmntany
getmntent getmsg
getnetgrent getnetgrentr
getopt getoptclip
getoptlong getoptlongonly
getpagesize getpagesizes
getpass getpassphrase
getpeerucred getpflags
getpgid getpgrp
getpid getpmsg
getppid getppriv
getpriority getprojid
getpw getpwent
getpwentr getpwnam
getpwnamr getpwuid
getpwuidr getrctl
getrlimit getrusage
gets getsid
getspent getspentr
getspnam getspnamr
getsubopt gettaskid
gettext gettimeofday
gettxt getuid
getusershell getustack
getutent getutid
getutline getutmp
getutmpx getutxent
getutxid getutxline
getvfsany getvfsent
getvfsfile getvfsspec
getw getwc
getwchar getwd
getwidth getws
getzoneid getzoneidbyname
getzonenamebyid glob
globfree gmtime
gmtimer grantpt
gsignal hasmntopt
hcreate hdestroy
hsearch iconv
iconvclose iconvopen
imaxabs imaxdiv
SunOS 5.11 Last change: 20 Feb 2009 6
Interface Libraries libc(3LIB)
index initgroups
initstate innetgr
insque ioctl
issystemlabeled
isaexec isalnum
isalpha isascii
isastream isatty
isblank iscntrl
isdigit isenglish
isgraph isideogram
islower isnan
isnand isnanf
isnumber isphonogram
isprint ispunct
issetugid isspace
isspecial isupper
iswalnum iswalpha
iswblank iswcntrl
iswctype iswdigit
iswgraph iswlower
iswprint iswpunct
iswspace iswupper
iswxdigit isxdigit
jrand48 kill
killpg l64a
labs ladd
lchown lckpwdf
lcong48 ldexp
ldivide lexp10
lfind lfmt
link liolistio
llabs
lldiv llog10
llseek lltostr
localeconv localtime
localtimer lockf
logb lone
longjmp lrand48
lsearch lseek
lshiftl lstat
lsub lten
lzero madvise
makecontext makeutx
malloc mblen
mbrlen mbrtowc
mbsinit mbsrtowcs
mbstowcs mbtowc
memalign membarconsumer
membarenter membarexit
membarproducer memccpy
memchr memcmp
memcntl memcpy
SunOS 5.11 Last change: 20 Feb 2009 7
Interface Libraries libc(3LIB)
meminfo memmove
memset mincore
mkdir mkfifo
mknod mkstemp
mktemp mktime
mlock mlockall
mmap mmapobj
modctl
modf modff
modutx monitor
mount mprotect
mqclose mqgetattr
mqnotify mqopen
mqreceive mqreltimedreceivenp
mqreltimedsendnp mqsend
mqsetattr mqtimedreceive
mqtimedsend mqunlink
mrand48 msgctl
msgget msgids
msgrcv msgsnap
msgsnd msync
munlock munlockall
munmap mutexconsistent
mutexdestroy mutexinit
mutexlock mutextrylock
mutexunlock nanosleep
nextafter
nfsgetfh nftw
ngettext nice
nllanginfo nrand48
nssdefaultfinders nssdelete
nssendent nssgetent
nsssearch nsssetent
ntpadjtime ntpgettime
open openat
opendir openlog
optarg opterr
optind optopt
ponline pathconf
pause pclose
pcsample perror
pfmt pipe
plock poll
popen portalert
portassociate portcreate
portdissociate portget
portgetn portsend
portsendn posixfadvise
posixfallocate posixmadvise
posixmemalign posixopenpt
posixspawn posixspawnfileactionsaddclose
posixspawnfileactionsaddclosefposixspawnfileactionsadddup2
SunOS 5.11 Last change: 20 Feb 2009 8
Interface Libraries libc(3LIB)
posixspawnfileactionsaddopen posixspawnfileactionsdestroy
posixspawnfileactionsinit posixspawnattrdestroy
posixspawnattrgetflags posixspawnattrgetpgroup
posixspawnattrgetschedparam posixspawnattrgetschedpolicy
posixspawnattrgetsigdefault posixspawnattrgetsigignorenp
posixspawnattrgetsigmask posixspawnattrinit
posixspawnattrsetflags posixspawnattrsetpgroup
posixspawnattrsetschedparam posixspawnattrsetschedpolicy
posixspawnattrsetsigdefault posixspawnattrsetsigignorenp
posixspawnattrsetsigmask posixspawnp
pread printf
printstack priocntl
priocntlset privaddset
privallocset privcopyset
privdelset privemptyset
privfillset privfreeset
privgetbyname privgetbynum
privgetsetbyname privgetsetbynum
privgettext privineffect
privintersect privinverse
privisemptyset privisequalset
privisfullset privismember
privissubset privset
privsettostr privstrtoset
privunion processorbind
processorinfo profil
pselect psetassign
psetbind psetcreate
psetdestroy psetgetattr
psetgetloadavg psetinfo
psetlist psetsetattr
psiginfo psignal
pthreadatfork pthreadattrdestroy
pthreadattrgetdetachstate pthreadattrgetguardsize
pthreadattrgetinheritsched pthreadattrgetschedparam
pthreadattrgetschedpolicy pthreadattrgetscope
pthreadattrgetstack pthreadattrgetstackaddr
pthreadattrgetstacksize pthreadattrinit
pthreadattrsetdetachstate pthreadattrsetguardsize
pthreadattrsetinheritsched pthreadattrsetschedparam
pthreadattrsetschedpolicy pthreadattrsetscope
pthreadattrsetstack pthreadattrsetstackaddr
pthreadattrsetstacksize pthreadbarrierdestroy
pthreadbarrierinit pthreadbarrierwait
pthreadbarrierattrdestroy pthreadbarrierattrgetpshared
pthreadbarrierattrinit pthreadbarrierattrsetpshared
pthreadcancel pthreadcondbroadcast
pthreadconddestroy pthreadcondinit
pthreadcondreltimedwaitnp pthreadcondsignal
pthreadcondtimedwait pthreadcondwait
pthreadcondattrdestroy pthreadcondattrgetclock
pthreadcondattrgetpshared pthreadcondattrinit
SunOS 5.11 Last change: 20 Feb 2009 9
Interface Libraries libc(3LIB)
pthreadcondattrsetclock pthreadcondattrsetpshared
pthreadcreate pthreaddetach
pthreadequal pthreadexit
pthreadgetconcurrency pthreadgetschedparam
pthreadgetspecific pthreadjoin
pthreadkeycreate pthreadkeycreateoncenp
pthreadkeydelete
pthreadkill pthreadmutexconsistent
pthreadmutexdestroy pthreadmutexgetprioceiling
pthreadmutexinit pthreadmutexlock
pthreadmutexreltimedlocknp pthreadmutexsetprioceiling
pthreadmutextimedlock pthreadmutextrylock
pthreadmutexunlock pthreadmutexattrdestroy
pthreadmutexattrgetprioceiling pthreadmutexattrgetprotocol
pthreadmutexattrgetpshared pthreadmutexattrgetrobust
pthreadmutexattrgettype pthreadmutexattrinit
pthreadmutexattrsetprioceiling pthreadmutexattrsetprotocol
pthreadmutexattrsetpshared pthreadmutexattrsetrobust
pthreadmutexattrsettype pthreadonce
pthreadrwlockdestroy pthreadrwlockinit
pthreadrwlockrdlock pthreadrwlockreltimedrdlocknp
pthreadrwlockreltimedwrlocknp pthreadrwlocktimedrdlock
pthreadrwlocktimedwrlock pthreadrwlocktryrdlock
pthreadrwlocktrywrlock pthreadrwlockunlock
pthreadrwlockwrlock pthreadrwlockattrdestroy
pthreadrwlockattrgetpshared pthreadrwlockattrinit
pthreadrwlockattrsetpshared pthreadself
pthreadsetcancelstate pthreadsetcanceltype
pthreadsetconcurrency pthreadsetspecific
pthreadsigmask pthreadsetschedparam
pthreadsetschedprio pthreadspindestroy
pthreadspininit pthreadspinlock
pthreadspintrylock pthreadspinunlock
pthreadtestcancel ptsname
putacct putc
putcunlocked putchar
putcharunlocked putenv
putmsg putpmsg
putpwent puts
putspent pututline
pututxline putw
putwc putwchar
putws pwrite
qeconvert qecvt
qfconvert qfcvt
qgconvert qgcvt
qsort quadrupletodecimal
raise rand
randr random
rctlwalk rctlblkgetenforcedvalue
rctlblkgetfiringtime rctlblkgetglobalaction
rctlblkgetglobalflags rctlblkgetlocalaction
SunOS 5.11 Last change: 20 Feb 2009 10
Interface Libraries libc(3LIB)
rctlblkgetlocalflags rctlblkgetprivilege
rctlblkgetrecipientpid rctlblkgetvalue
rctlblksetlocalaction rctlblksetlocalflags
rctlblksetprivilege rctlblksetrecipientpid
rctlblksetvalue rctlblksize
recomp reexec
read readdir
readdirr readlink
readv realloc
realpath reboot
regcmp regcomp
regerror regex
regexec regfree
remove remque
rename renameat
resetmnttab resolvepath
rewind rewinddir
rindex rmdir
rwrdlock rwreadheld
rwtryrdlock rwtrywrlock
rwunlock rwwriteheld
rwwrlock rwlockdestroy
rwlockinit sbrk
scalb scandir
scanf schedgetprioritymax
schedgetprioritymin schedgetparam
schedgetscheduler schedrrgetinterval
schedsetparam schedsetscheduler
schedyield schedctlexit
schedctlinit schedctllookup
schedctlstart schedctlstop
seconvert seed48
seekdir select
semclose semdestroy
semgetvalue seminit
semopen sempost
semreltimedwaitnp semtimedwait
semtrywait semunlink
semwait
semadestroy semaheld
semainit semapost
sematrywait semawait
semctl semget
semids semop
semtimedop setattrat
setbuf
setbuffer setcat
setcontext setegid
setenv seteuid
setgid setgrent
setgroups sethostname
setitimer setjmp
SunOS 5.11 Last change: 20 Feb 2009 11
Interface Libraries libc(3LIB)
setkey setlabel
setlinebuf setlocale
setlogmask setnetgrent
setpflags setpgid
setpgrp setppriv
setpriority setpwent
setrctl setregid
setreuid setrlimit
setsid setspent
setstate settaskid
settimeofday setuid
setusershell setustack
setutent setutxent
setvbuf sfconvert
sgconvert shmopen
shmunlink shmat
shmctl shmdt
shmget shmids
sig2str sigaction
sigaddset sigaltstack
sigdelset sigemptyset
sigfillset sigfpe
sighold sigignore
siginterrupt sigismember
siglongjmp signal
sigpause sigpending
sigprocmask sigqueue
sigrelse
sigsend sigsendset
sigset sigsetjmp
sigstack sigsuspend
sigtimedwait sigwait
sigwaitinfo singletodecimal
sleep snprintf
sprintf srand
srand48 srandom
sscanf ssignal
stackgetbounds stackinbounds
stacksetbounds stackviolation
stat statfs
statvfs stime
str2sig strcasecmp
strcat strchr
strcmp strcoll
strcpy strcspn
strdup strerror
strerrorr strfmon
strftime stringtodecimal
strlcat strlcpy
strlen strncasecmp
strncat strncmp
strncpy strpbrk
SunOS 5.11 Last change: 20 Feb 2009 12
Interface Libraries libc(3LIB)
strptime strrchr
strsep
strsignal strspn
strstr strtod
strtof strtoimax
strtok strtokr
strtol strtold
strtoll strtoul
strtoull strtoumax
strtows strxfrm
swab swapcontext
swapctl swprintf
swscanf symlink
sync syncinstructionmemory
sysconf sysfs
sysinfo syslog
system tcdrain
tcflow tcflush
tcgetattr tcgetpgrp
tcgetsid tcsendbreak
tcsetattr tcsetpgrp
tdelete tell
telldir tempnam
textdomain tfind
thrcontinue thrcreate
threxit thrgetconcurrency
thrgetprio thrgetspecific
thrjoin thrkeycreate
thrkeycreateonce
thrkill thrmain
thrminstack thrself
thrsetconcurrency thrsetprio
thrsetspecific thrsigsetmask
thrstksegment thrsuspend
thryield time
timercreate timerdelete
timergetoverrun timergettime
timersettime
times timezone
tmpfile tmpnam
tmpnamr toascii
tolower toupper
towctrans towlower
towupper truncate
tsearch ttyname
ttynamer ttyslot
twalk tzname
tzset u8strcmp
u8textprepstr u8validate
uadmin
ualarm uconvu16tou32
uconvu16tou8 uconvu32tou16
SunOS 5.11 Last change: 20 Feb 2009 13
Interface Libraries libc(3LIB)
uconvu32tou8 uconvu8tou16
uconvu8tou32 ucredfree
ucredget ucredgetegid
ucredgeteuid ucredgetgroups
ucredgetpflags ucredgetpid
ucredgetprivset ucredgetprojid
ucredgetrgid ucredgetruid
ucredgetsgid ucredgetsuid
ucredgetzoneid ucredsize
ulckpwdf ulimit
ulltostr umask
umount umount2
uname ungetc
ungetwc unlink
unlinkat unlockpt
unordered unsetenv
updwtmp updwtmpx
usleep ustat
utime utimes
utmpname utmpxname
uucopy valloc
vasprintf
verr verrx
vfork vforkx
vfprintf vfscanf
vfwprintf vfwscanf
vhangup vlfmt
vpfmt vprintf
vscanf vsnprintf
vsprintf vsscanf
vswprintf vswscanf
vsyslog vwarn
vwarnx vwprintf
vwscanf wait
wait3 wait4
waitid waitpid
walkcontext warn
warnx watoll
wcrtomb wcscat
wcschr wcscmp
wcscoll wcscpy
wcscspn wcsftime
wcslen wcsncat
wcsncmp wcsncpy
wcspbrk wcsrchr
wcsrtombs wcsspn
wcsstr wcstod
wcstof wcstoimax
wcstok wcstol
wcstold wcstoll
wcstombs wcstoul
wcstoull wcstoumax
SunOS 5.11 Last change: 20 Feb 2009 14
Interface Libraries libc(3LIB)
wcswcs wcswidth
wcsxfrm wctob
wctomb wctrans
wctype wcwidth
wmemchr wmemcmp
wmemcpy wmemmove
wmemset wordexp
wordfree wprintf
wracct write
writev wscanf
wscasecmp wscat
wschr wscmp
wscol wscoll
wscpy wscspn
wsdup wslen
wsncasecmp wsncat
wsncmp wsncpy
wspbrk wsprintf
wsrchr wsscanf
wsspn wstod
wstok wstol
wstoll wstostr
wsxfrm yield
The following interfaces are unique to the 32-bit version of
this library:
div64 mul64
posixreaddirr rem64
udiv64 urem64
bufendtab lastbuf
sfcntl sysnsig
xftw64 aiocancel64
aioerror64 aiofsync64
aioread64 aioreturn64
aiosuspend64 aiowaitn64
aiowrite64 creat64
fgetpos64 fopen64
freopen64 fseeko64
fsetpos64 fstat64
fstatvfs64 ftello64
ftruncate64 ftw64
getdents64 getrlimit64
liolistio64 lockf64
lseek64 lstat64
mkstemp64 mmap64
nftw64 open64
pread64 ptrace
SunOS 5.11 Last change: 20 Feb 2009 15
Interface Libraries libc(3LIB)
pwrite64 readdir64
readdir64r sfcntl
sioctl selectlargefdset
setrlimit64 stat64
statvfs64 syserrlist
sysnerr tell64
tmpfile64 truncate64
The following interfaces are unique to the 32-bit SPARC ver-
sion of this library:
.div .mul
.rem .stret1
.stret2 .stret4
.stret8 .udiv
.umul .urem
Qadd Qcmp
Qcmpe Qdiv
Qdtoq Qfeq
Qfge Qfgt
Qfle Qflt
Qfne Qitoq
Qlltoq Qmul
Qneg Qqtod
Qqtoi Qqtoll
Qqtos Qqtou
Qqtoull Qsqrt
Qstoq Qsub
Qulltoq Qutoq
dtoll dtou
dtoull ftoll
ftou ftoull
umul64
The following interfaces are unique to the 32-bit x86 ver-
sion of this library:
fpstart fphw
fpstart fxstat
lxstat nuname
threrrnoaddr xmknod
xstat nuname
SunOS 5.11 Last change: 20 Feb 2009 16
Interface Libraries libc(3LIB)
The following interfaces are unique to the 64-bit SPARC ver-
sion of this library:
Qpadd Qpcmp
Qpcmpe Qpdiv
Qpdtoq Qpfeq
Qpfge Qpfgt
Qpfle Qpflt
Qpfne Qpitoq
Qpmul Qpneg
Qpqtod Qpqtoi
Qpqtos Qpqtoui
Qpqtoux Qpqtox
Qpsqrt Qpstoq
Qpsub Qpuitoq
Qpuxtoq Qpxtoq
aligncpy1 aligncpy16
aligncpy2 aligncpy4
aligncpy8 dtoul
ftoul sparcutrapinstall
FILES
/lib/libc.so.1 shared object
/lib/64/libc.so.1 64-bit shared object
/lib/csynonyms.so.1 A compatibility library to pro-
vide access to obsolete libc
synonym symbols
/lib/64/csynonyms.so.1 A 64-bit compatibility library to
provide access to obsolete libc
synonym symbols
ATRIBUTES
See attributes(5) for descriptions of the following attri-
butes:
SunOS 5.11 Last change: 20 Feb 2009 17
Interface Libraries libc(3LIB)
ATRIBUTE TYPE ATRIBUTE VALUE
Availability SUNWcsl (32-bit)
SUNWcslx (64-bit)
MT-Level Safe
SEE ALSO
pvs(1), Intro(2), Intro(3), attributes(5), lf64(5), stan-
dards(5)
NOTES
The synonyms compatibility library, csynonyms.so.1, pro-
vides a mechanism to support old applications and libraries
that were mistakenly built using now-obsolete synonym sym-
bols from libc.
Before the advent of direct binding (-B direct) libc pro-
vided many functions with two names. For example,
getpwent() and getpwent(). These two names referred to
exactly the same function in libc. The leading-underscore
symbol was intended to be used by system libraries in order
to avoid conflicting with an application that might define
its own version of getpwent() with completely different
semantics. Standard-conforming applications may not define
and use function names with leading underscores.
Solaris system libraries are now built with direct binding.
This means that a system library that calls getpwent() will
bind directly to the instance of getpwent() in libc, even if
the application to which it is linked defines a different
getpwent() for its own use. The application binds to its
instance of getpwent() and there is no resulting conflict.
The direct binding mechanism is equally available to
libraries not delivered with Solaris.
As a result of this evolution, most of the leading-
underscore synonym symbols have been removed from libc.
This means that applications that call these now-obsolete
function names will cease to work. They will typically draw
the error:
$ ./application
ld.so.1: fatal: relocation error: symbol getpwent:
referenced symbol not found
Killed
SunOS 5.11 Last change: 20 Feb 2009 18
Interface Libraries libc(3LIB)
All of the old leading-underscore symbols have been copied
to the synonyms compatibility library. This library simply
redirects the calls to the non-underscore instances of the
corresponding functions in libc. Use it as a pre-loaded
object:
$ LDPRELOAD=csynonyms.so.1 ./application
The synonyms compatibility library is intended neither to
enable the generation of applications that call the obsolete
leading-underscore synonym functions, nor to endorse this
particular programming practice.
SunOS 5.11 Last change: 20 Feb 2009 19
|