xref: /illumos-gate/usr/src/man/man3lib/libc.3lib (revision c10c16de)
te
Copyright (c) 2009, Sun Microsystems, Inc. All rights reserved.
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
libc 3LIB "15 Sep 2009" "SunOS 5.11" "Interface Libraries"
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 internationalization 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
__builtin_alloca__ctype
__fbufsize__flbf
__flt_rounds__fpending
__fpurge__freadable
__freading__fsetlocking
__fwritable__fwriting
__huge_val__iob
__loc1__major
__makedev__minor
__nsw_extended_action__nsw_freeconfig
__nsw_getconfig__posix_asctime_r
__posix_ctime_r__posix_getgrgid_r
__posix_getgrnam_r__posix_getlogin_r
__posix_getpwnam_r__posix_getpwuid_r
__posix_sigwait__posix_ttyname_r
__priocntl__priocntlset
__pthread_cleanup_pop__pthread_cleanup_push
__sysconf_xpg5__xpg4
__xpg4_putmsg__xpg4_putpmsg
_Exit_altzone
_assert_cleanup
_ctype_daylight
_environ_exit
_exithandle_filbuf
_flsbuf_flushlbf
_getdate_err_getdate_err_addr
_iob_isnan
_isnand_lwp_cond_broadcast
_lwp_cond_reltimedwait_lwp_cond_signal
_lwp_cond_timedwait_lwp_cond_wait
_lwp_continue_lwp_info
_lwp_kill_lwp_mutex_lock
_lwp_mutex_trylock_lwp_mutex_unlock
_lwp_self_lwp_sema_init
_lwp_sema_post_lwp_sema_trywait
_lwp_sema_wait_lwp_suspend
_lwp_suspend2_modf
_nextafter_nsc_trydoorcall
_nss_XbyY_buf_alloc_nss_XbyY_buf_free
_nss_netdb_aliases_numeric
_scalb_sibuf
_sobuf_stack_grow
_sys_buslist_sys_cldlist
_sys_fpelist_sys_illlist
_sys_segvlist_sys_siginfolistp
_sys_siglist_sys_siglistn
_sys_siglistp_sys_traplist
_timezone_tolower
_toupper_tzname
_xftw
a64labort
absaccess
acctacl
addrtosymstraddsev
addseverityadjtime
aio_cancelaio_error
aio_fsyncaio_read
aio_returnaio_suspend
aio_waitnaio_write
aiocancelaioread
aiowaitaiowrite
alarmalphasort
altzoneascftime
asctimeasctime_r
asprintf
atexitatof
atoiatol
atollatomic_add_16
atomic_add_16_nvatomic_add_32
atomic_add_32_nvatomic_add_64
atomic_add_64_nvatomic_add_8
atomic_add_8_nvatomic_add_char
atomic_add_char_nvatomic_add_int
atomic_add_int_nvatomic_add_long
atomic_add_long_nvatomic_add_ptr
atomic_add_ptr_nvatomic_add_short
atomic_add_short_nvatomic_and_16
atomic_and_16_nvatomic_and_32
atomic_and_32_nvatomic_and_64
atomic_and_64_nvatomic_and_8
atomic_and_8_nvatomic_and_uchar
atomic_and_uchar_nvatomic_and_uint
atomic_and_uint_nvatomic_and_ulong
atomic_and_ulong_nvatomic_and_ushort
atomic_and_ushort_nvatomic_cas_16
atomic_cas_32atomic_cas_64
atomic_cas_8atomic_cas_ptr
atomic_cas_ucharatomic_cas_uint
atomic_cas_ulongatomic_cas_ushort
atomic_clear_long_exclatomic_dec_16
atomic_dec_16_nvatomic_dec_32
atomic_dec_32_nvatomic_dec_64
atomic_dec_64_nvatomic_dec_8
atomic_dec_8_nvatomic_dec_ptr
atomic_dec_ptr_nvatomic_dec_uchar
atomic_dec_uchar_nvatomic_dec_uint
atomic_dec_uint_nvatomic_dec_ulong
atomic_dec_ulong_nvatomic_dec_ushort
atomic_dec_ushort_nvatomic_inc_16
atomic_inc_16_nvatomic_inc_32
atomic_inc_32_nvatomic_inc_64
atomic_inc_64_nvatomic_inc_8
atomic_inc_8_nvatomic_inc_ptr
atomic_inc_ptr_nvatomic_inc_uchar
atomic_inc_uchar_nvatomic_inc_uint
atomic_inc_uint_nvatomic_inc_ulong
atomic_inc_ulong_nvatomic_inc_ushort
atomic_inc_ushort_nvatomic_or_16
atomic_or_16_nvatomic_or_32
atomic_or_32_nvatomic_or_64
atomic_or_64_nvatomic_or_8
atomic_or_8_nvatomic_or_uchar
atomic_or_uchar_nvatomic_or_uint
atomic_or_uint_nvatomic_or_ulong
atomic_or_ulong_nvatomic_or_ushort
atomic_or_ushort_nvatomic_set_long_excl
atomic_swap_16atomic_swap_32
atomic_swap_64atomic_swap_8
atomic_swap_ptratomic_swap_uchar
atomic_swap_uintatomic_swap_ulong
atomic_swap_ushortattropen
backtracebacktrace_symbols
backtrace_symbols_fdbasename
bcmpbcopy
bindtextdomainbind_textdomain_codeset
brkbsd_signal
bsearchbtowc
bzerocalloc
catclosecatgets
catopencfgetispeed
cfgetospeedcfsetispeed
cfsetospeedcftime
chdirchmod
chownchroot
clearerrclock
clock_getresclock_gettime
clock_nanosleepclock_settime
closeclosedir
closefromcloselog
cond_broadcastcond_destroy
cond_initcond_reltimedwait
cond_signalcond_timedwait
cond_waitconfstr
creatcrypt
crypt_genhash_implcrypt_gensalt
crypt_gensalt_implcsetcol
csetlenctermid
ctermid_rctime
ctime_rcuserid
daemon
daylightdbm_clearerr
dbm_closedbm_delete
dbm_errordbm_fetch
dbm_firstkeydbm_nextkey
dbm_opendbm_store
dcgettextdcngettext
decimal_to_doubledecimal_to_extended
decimal_to_quadrupledecimal_to_single
dgettextdifftime
directiodirfd
dirnamediv
dladdrdladdr1
dlclosedldump
dlerrordlinfo
dlmopendlopen
dlsymdngettext
door_binddoor_call
door_createdoor_cred
door_getparamdoor_info
door_returndoor_revoke
door_server_createdoor_setparam
door_ucreddoor_unbind
double_to_decimaldrand48
dupdup2
econvertecvt
enable_extended_FILE_stdio
encryptendgrent
endnetgrentendpwent
endspentendusershell
endutentendutxent
environerand48
errerrno
errxeuccol
eucleneucscol
execlexecle
execlpexecv
execveexecvp
exitextended_to_decimal
faccessat
faclfattach
fchdirfchmod
fchownfchownat
fchrootfclose
fcntlfconvert
fcvtfdatasync
fdetach
fdopenfdopendir
fdwalkfeof
ferrorfflush
ffsfgetattr
fgetc
fgetgrentfgetgrent_r
fgetposfgetpwent
fgetpwent_rfgets
fgetspentfgetspent_r
fgetwcfgetws
file_to_decimalfileno
finiteflockfile
fmtmsgfnmatch
fopenfork
fork1forkall
forkallxforkx
fpathconffpclass
fpgetmaskfpgetround
fpgetstickyfprintf
fpsetmaskfpsetround
fpsetstickyfputc
fputsfputwc
fputwsfread
freefreopen
frexpfscanf
fseekfseeko
fsetattr
fsetposfstat
fstatatfstatfs
fstatvfsfsync
ftellftello
ftimeftok
ftruncateftrylockfile
ftwfunc_to_decimal
funlockfilefutimens
futimesat
fwidefwprintf
fwritefwscanf
gconvertgcvt
getacctgetattrat
getc
getc_unlockedgetchar
getchar_unlockedgetcontext
getcpuidgetcwd
getdategetdate_err
getdentsgetdtablesize
getegidgetenv
geteuidgetexecname
getextmntentgetgid
getgrentgetgrent_r
getgrgidgetgrgid_r
getgrnamgetgrnam_r
getgroupsgethomelgroup
gethostidgethostname
gethrtimegethrvtime
getisaxgetitimer
getloadavggetlogin
getlogin_rgetmntany
getmntentgetmsg
getnetgrentgetnetgrent_r
getoptgetopt_clip
getopt_longgetopt_long_only
getpagesizegetpagesizes
getpassgetpassphrase
getpeerucredgetpflags
getpgidgetpgrp
getpidgetpmsg
getppidgetppriv
getprioritygetprojid
getpwgetpwent
getpwent_rgetpwnam
getpwnam_rgetpwuid
getpwuid_rgetrctl
getrlimitgetrusage
getsgetsid
getspentgetspent_r
getspnamgetspnam_r
getsuboptgettaskid
gettextgettimeofday
gettxtgetuid
getusershellgetustack
getutentgetutid
getutlinegetutmp
getutmpxgetutxent
getutxidgetutxline
getvfsanygetvfsent
getvfsfilegetvfsspec
getwgetwc
getwchargetwd
getwidthgetws
getzoneidgetzoneidbyname
getzonenamebyidglob
globfreegmtime
gmtime_rgrantpt
gsignalhasmntopt
hcreatehdestroy
hsearchiconv
iconv_closeiconv_open
imaxabsimaxdiv
indexinitgroups
initstateinnetgr
insqueioctl
is_system_labeled
isaexecisalnum
isalphaisascii
isastreamisatty
isblankiscntrl
isdigitisenglish
isgraphisideogram
islowerisnan
isnandisnanf
isnumberisphonogram
isprintispunct
issetugidisspace
isspecialisupper
iswalnumiswalpha
iswblankiswcntrl
iswctypeiswdigit
iswgraphiswlower
iswprintiswpunct
iswspaceiswupper
iswxdigitisxdigit
jrand48kill
killpgl64a
labsladd
lchownlckpwdf
lcong48ldexp
ldividelexp10
lfindlfmt
linklio_listio
llabs
lldivllog10
llseeklltostr
localeconvlocaltime
localtime_rlockf
logblone
longjmplrand48
lsearchlseek
lshiftllstat
lsublten
lzeromadvise
makecontextmakeutx
mallocmblen
mbrlenmbrtowc
mbsinitmbsrtowcs
mbstowcsmbtowc
memalignmembar_consumer
membar_entermembar_exit
membar_producermemccpy
memchrmemcmp
memcntlmemcpy
meminfomemmove
memsetmincore
mkdirmkfifo
mknodmkstemp
mktempmktime
mlockmlockall
mmapmmapobj
modctl
modfmodff
modutxmonitor
mountmprotect
mq_closemq_getattr
mq_notifymq_open
mq_receivemq_reltimedreceive_np
mq_reltimedsend_npmq_send
mq_setattrmq_timedreceive
mq_timedsendmq_unlink
mrand48msgctl
msggetmsgids
msgrcvmsgsnap
msgsndmsync
munlockmunlockall
munmapmutex_consistent
mutex_destroymutex_init
mutex_lockmutex_trylock
mutex_unlocknanosleep
nextafter
nfs_getfhnftw
ngettextnice
nl_langinfonrand48
nss_default_findersnss_delete
nss_endentnss_getent
nss_searchnss_setent
ntp_adjtimentp_gettime
openopenat
opendiropenlog
optargopterr
optindoptopt
p_onlinepathconf
pausepclose
pcsampleperror
pfmtpipe
plockpoll
popenport_alert
port_associateport_create
port_dissociateport_get
port_getnport_send
port_sendnposix_fadvise
posix_fallocateposix_madvise
posix_memalignposix_openpt
posix_spawnposix_spawn_file_actions_addclose
posix_spawn_file_actions_addclosefrom_npposix_spawn_file_actions_adddup2
posix_spawn_file_actions_addopenposix_spawn_file_actions_destroy
posix_spawn_file_actions_initposix_spawnattr_destroy
posix_spawnattr_getflagsposix_spawnattr_getpgroup
posix_spawnattr_getschedparamposix_spawnattr_getschedpolicy
posix_spawnattr_getsigdefaultposix_spawnattr_getsigignore_np
posix_spawnattr_getsigmaskposix_spawnattr_init
posix_spawnattr_setflagsposix_spawnattr_setpgroup
posix_spawnattr_setschedparamposix_spawnattr_setschedpolicy
posix_spawnattr_setsigdefaultposix_spawnattr_setsigignore_np
posix_spawnattr_setsigmaskposix_spawnp
preadprintf
printstackpriocntl
priocntlsetpriv_addset
priv_allocsetpriv_copyset
priv_delsetpriv_emptyset
priv_fillsetpriv_freeset
priv_getbynamepriv_getbynum
priv_getsetbynamepriv_getsetbynum
priv_gettextpriv_ineffect
priv_intersectpriv_inverse
priv_isemptysetpriv_isequalset
priv_isfullsetpriv_ismember
priv_issubsetpriv_set
priv_set_to_strpriv_str_to_set
priv_unionprocessor_bind
processor_infoprofil
pselectpset_assign
pset_bindpset_create
pset_destroypset_getattr
pset_getloadavgpset_info
pset_listpset_setattr
psiginfopsignal
pthread_atforkpthread_attr_destroy
pthread_attr_getdetachstatepthread_attr_getguardsize
pthread_attr_getinheritschedpthread_attr_getschedparam
pthread_attr_getschedpolicypthread_attr_getscope
pthread_attr_getstackpthread_attr_getstackaddr
pthread_attr_getstacksizepthread_attr_init
pthread_attr_setdetachstatepthread_attr_setguardsize
pthread_attr_setinheritschedpthread_attr_setschedparam
pthread_attr_setschedpolicypthread_attr_setscope
pthread_attr_setstackpthread_attr_setstackaddr
pthread_attr_setstacksizepthread_barrier_destroy
pthread_barrier_initpthread_barrier_wait
pthread_barrierattr_destroypthread_barrierattr_getpshared
pthread_barrierattr_initpthread_barrierattr_setpshared
pthread_cancelpthread_cond_broadcast
pthread_cond_destroypthread_cond_init
pthread_cond_reltimedwait_nppthread_cond_signal
pthread_cond_timedwaitpthread_cond_wait
pthread_condattr_destroypthread_condattr_getclock
pthread_condattr_getpsharedpthread_condattr_init
pthread_condattr_setclockpthread_condattr_setpshared
pthread_createpthread_detach
pthread_equalpthread_exit
pthread_getconcurrencypthread_getschedparam
pthread_getspecificpthread_join
pthread_key_createpthread_key_create_once_np
pthread_key_delete
pthread_killpthread_mutex_consistent
pthread_mutex_destroypthread_mutex_getprioceiling
pthread_mutex_initpthread_mutex_lock
pthread_mutex_reltimedlock_nppthread_mutex_setprioceiling
pthread_mutex_timedlockpthread_mutex_trylock
pthread_mutex_unlockpthread_mutexattr_destroy
pthread_mutexattr_getprioceilingpthread_mutexattr_getprotocol
pthread_mutexattr_getpsharedpthread_mutexattr_getrobust
pthread_mutexattr_gettypepthread_mutexattr_init
pthread_mutexattr_setprioceilingpthread_mutexattr_setprotocol
pthread_mutexattr_setpsharedpthread_mutexattr_setrobust
pthread_mutexattr_settypepthread_once
pthread_rwlock_destroypthread_rwlock_init
pthread_rwlock_rdlockpthread_rwlock_reltimedrdlock_np
pthread_rwlock_reltimedwrlock_nppthread_rwlock_timedrdlock
pthread_rwlock_timedwrlockpthread_rwlock_tryrdlock
pthread_rwlock_trywrlockpthread_rwlock_unlock
pthread_rwlock_wrlockpthread_rwlockattr_destroy
pthread_rwlockattr_getpsharedpthread_rwlockattr_init
pthread_rwlockattr_setpsharedpthread_self
pthread_setcancelstatepthread_setcanceltype
pthread_setconcurrencypthread_setspecific
pthread_sigmaskpthread_setschedparam
pthread_setschedpriopthread_spin_destroy
pthread_spin_initpthread_spin_lock
pthread_spin_trylockpthread_spin_unlock
pthread_testcancelptsname
putacctputc
putc_unlockedputchar
putchar_unlockedputenv
putmsgputpmsg
putpwentputs
putspentpututline
pututxlineputw
putwcputwchar
putwspwrite
qeconvertqecvt
qfconvertqfcvt
qgconvertqgcvt
qsortquadruple_to_decimal
raiserand
rand_rrandom
rctl_walkrctlblk_get_enforced_value
rctlblk_get_firing_timerctlblk_get_global_action
rctlblk_get_global_flagsrctlblk_get_local_action
rctlblk_get_local_flagsrctlblk_get_privilege
rctlblk_get_recipient_pidrctlblk_get_value
rctlblk_set_local_actionrctlblk_set_local_flags
rctlblk_set_privilegerctlblk_set_recipient_pid
rctlblk_set_valuerctlblk_size
re_compre_exec
readreaddir
readdir_rreadlink
readvrealloc
realpathreboot
regcmpregcomp
regerrorregex
regexecregfree
removeremque
renamerenameat
resetmnttabresolvepath
rewindrewinddir
rindexrmdir
rw_rdlockrw_read_held
rw_tryrdlockrw_trywrlock
rw_unlockrw_write_held
rw_wrlockrwlock_destroy
rwlock_initsbrk
scalbscandir
scanfsched_get_priority_max
sched_get_priority_minsched_getparam
sched_getschedulersched_rr_get_interval
sched_setparamsched_setscheduler
sched_yieldschedctl_exit
schedctl_initschedctl_lookup
schedctl_startschedctl_stop
seconvertseed48
seekdirselect
sem_closesem_destroy
sem_getvaluesem_init
sem_opensem_post
sem_reltimedwait_npsem_timedwait
sem_trywaitsem_unlink
sem_wait
sema_destroysema_held
sema_initsema_post
sema_trywaitsema_wait
semctlsemget
semidssemop
semtimedopsetattrat
setbuf
setbuffersetcat
setcontextsetegid
setenvseteuid
setgidsetgrent
setgroupssethostname
setitimersetjmp
setkeysetlabel
setlinebufsetlocale
setlogmasksetnetgrent
setpflagssetpgid
setpgrpsetppriv
setprioritysetpwent
setrctlsetregid
setreuidsetrlimit
setsidsetspent
setstatesettaskid
settimeofdaysetuid
setusershellsetustack
setutentsetutxent
setvbufsfconvert
sgconvertshm_open
shm_unlinkshmat
shmctlshmdt
shmgetshmids
sig2strsigaction
sigaddsetsigaltstack
sigdelsetsigemptyset
sigfillsetsigfpe
sigholdsigignore
siginterruptsigismember
siglongjmpsignal
sigpausesigpending
sigprocmasksigqueue
sigrelse
sigsendsigsendset
sigsetsigsetjmp
sigstacksigsuspend
sigtimedwaitsigwait
sigwaitinfosingle_to_decimal
sleepsnprintf
sprintfsrand
srand48srandom
sscanfssignal
stack_getboundsstack_inbounds
stack_setboundsstack_violation
statstatfs
statvfsstime
str2sigstrcasecmp
strcatstrchr
strcmpstrcoll
strcpystrcspn
strdupstrerror
strerror_rstrfmon
strftimestring_to_decimal
strlcatstrlcpy
strlenstrncasecmp
strncatstrncmp
strncpystrpbrk
strptimestrrchr
strsep
strsignalstrspn
strstrstrtod
strtofstrtoimax
strtokstrtok_r
strtolstrtold
strtollstrtoul
strtoullstrtoumax
strtowsstrxfrm
swabswapcontext
swapctlswprintf
swscanfsymlink
syncsync_instruction_memory
sysconfsysfs
sysinfosyslog
systemtcdrain
tcflowtcflush
tcgetattrtcgetpgrp
tcgetsidtcsendbreak
tcsetattrtcsetpgrp
tdeletetell
telldirtempnam
textdomaintfind
thr_continuethr_create
thr_exitthr_getconcurrency
thr_getpriothr_getspecific
thr_jointhr_keycreate
thr_keycreate_once
thr_killthr_main
thr_min_stackthr_self
thr_setconcurrencythr_setprio
thr_setspecificthr_sigsetmask
thr_stksegmentthr_suspend
thr_yieldtime
timer_createtimer_delete
timer_getoverruntimer_gettime
timer_settime
timestimezone
tmpfiletmpnam
tmpnam_rtoascii
tolowertoupper
towctranstowlower
towuppertruncate
tsearchttyname
ttyname_rttyslot
twalktzname
tzsetu8_strcmp
u8_textprep_stru8_validate
uadmin
ualarmuconv_u16tou32
uconv_u16tou8uconv_u32tou16
uconv_u32tou8uconv_u8tou16
uconv_u8tou32ucred_free
ucred_getucred_getegid
ucred_geteuiducred_getgroups
ucred_getpflagsucred_getpid
ucred_getprivsetucred_getprojid
ucred_getrgiducred_getruid
ucred_getsgiducred_getsuid
ucred_getzoneiducred_size
ulckpwdfulimit
ulltostrumask
umountumount2
unameungetc
ungetwcunlink
unlinkatunlockpt
unorderedunsetenv
updwtmpupdwtmpx
usleepustat
utimeutimensat
utimesutmpname
utmpxnameuucopy
vallocvasprintf
verrverrx
vforkvforkx
vfprintfvfscanf
vfwprintfvfwscanf
vhangupvlfmt
vpfmtvprintf
vscanfvsnprintf
vsprintfvsscanf
vswprintfvswscanf
vsyslogvwarn
vwarnxvwprintf
vwscanfwait
wait3wait4
waitidwaitpid
walkcontextwarn
warnxwatoll
wcrtombwcscat
wcschrwcscmp
wcscollwcscpy
wcscspnwcsftime
wcslenwcsncat
wcsncmpwcsncpy
wcspbrkwcsrchr
wcsrtombswcsspn
wcsstrwcstod
wcstofwcstoimax
wcstokwcstol
wcstoldwcstoll
wcstombswcstoul
wcstoullwcstoumax
wcswcswcswidth
wcsxfrmwctob
wctombwctrans
wctypewcwidth
wmemchrwmemcmp
wmemcpywmemmove
wmemsetwordexp
wordfreewprintf
wracctwrite
writevwscanf
wscasecmpwscat
wschrwscmp
wscolwscoll
wscpywscspn
wsdupwslen
wsncasecmpwsncat
wsncmpwsncpy
wspbrkwsprintf
wsrchrwsscanf
wsspnwstod
wstokwstol
wstollwstostr
wsxfrmyield

The following interfaces are unique to the 32-bit version of this library:

__div64__mul64
__posix_readdir_r__rem64
__udiv64__urem64
_bufendtab_lastbuf
_s_fcntl_sys_nsig
_xftw64aio_cancel64
aio_error64aio_fsync64
aio_read64aio_return64
aio_suspend64aio_waitn64
aio_write64creat64
fgetpos64fopen64
freopen64fseeko64
fsetpos64fstat64
fstatvfs64ftello64
ftruncate64ftw64
getdents64getrlimit64
lio_listio64lockf64
lseek64lstat64
mkstemp64mmap64
nftw64open64
pread64ptrace
pwrite64readdir64
readdir64_rs_fcntl
s_ioctlselect_large_fdset
setrlimit64stat64
statvfs64sys_errlist
sys_nerrtell64
tmpfile64truncate64

The following interfaces are unique to the 32-bit SPARC version of this library:

.div.mul
.rem.stret1
.stret2.stret4
.stret8.udiv
.umul.urem
_Q_add_Q_cmp
_Q_cmpe_Q_div
_Q_dtoq_Q_feq
_Q_fge_Q_fgt
_Q_fle_Q_flt
_Q_fne_Q_itoq
_Q_lltoq_Q_mul
_Q_neg_Q_qtod
_Q_qtoi_Q_qtoll
_Q_qtos_Q_qtou
_Q_qtoull_Q_sqrt
_Q_stoq_Q_sub
_Q_ulltoq_Q_utoq
__dtoll__dtou
__dtoull__ftoll
__ftou__ftoull
__umul64

The following interfaces are unique to the 32-bit x86 version of this library:

__fpstart_fp_hw
_fpstart_fxstat
_lxstat_nuname
_thr_errno_addr_xmknod
_xstatnuname

The following interfaces are unique to the 64-bit SPARC version of this library:

_Qp_add_Qp_cmp
_Qp_cmpe_Qp_div
_Qp_dtoq_Qp_feq
_Qp_fge_Qp_fgt
_Qp_fle_Qp_flt
_Qp_fne_Qp_itoq
_Qp_mul_Qp_neg
_Qp_qtod_Qp_qtoi
_Qp_qtos_Qp_qtoui
_Qp_qtoux_Qp_qtox
_Qp_sqrt_Qp_stoq
_Qp_sub_Qp_uitoq
_Qp_uxtoq_Qp_xtoq
__align_cpy_1__align_cpy_16
__align_cpy_2__align_cpy_4
__align_cpy_8__dtoul
__ftoul__sparc_utrap_install
FILES

/lib/libc.so.1

shared object

/lib/64/libc.so.1

64-bit shared object

/lib/c_synonyms.so.1

A compatibility library to provide access to obsolete libc synonym symbols

/lib/64/c_synonyms.so.1

A 64-bit compatibility library to provide access to obsolete libc synonym symbols

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
MT-LevelSafe
SEE ALSO

pvs(1), Intro(2), Intro(3), attributes(5), lf64(5), standards(5)

NOTES

The synonyms compatibility library, c_synonyms.so.1, provides a mechanism to support old applications and libraries that were mistakenly built using now-obsolete synonym symbols from libc.

Before the advent of direct binding (-B direct) libc provided 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

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:

$ LD_PRELOAD=c_synonyms.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.