Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #903
Difficulty: Medium
There are less than 10 million lines of code in the Linux kernel as of 2018.
True or False?
Linux & Unix Commands - Search Man Pages

libc(3lib) [opensolaris man page]

libc(3LIB)							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 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 inter- faces. ____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 a64l abort abs access acct acl addrtosymstr addsev addseverity adjtime aio_cancel aio_error aio_fsync aio_read aio_return aio_suspend aio_waitn aio_write aiocancel aioread aiowait aiowrite alarm alphasort altzone ascftime asctime asctime_r asprintf atexit atof atoi atol atoll atomic_add_16 atomic_add_16_nv atomic_add_32 atomic_add_32_nv atomic_add_64 atomic_add_64_nv atomic_add_8 atomic_add_8_nv atomic_add_char atomic_add_char_nv atomic_add_int atomic_add_int_nv atomic_add_long atomic_add_long_nv atomic_add_ptr atomic_add_ptr_nv atomic_add_short atomic_add_short_nv atomic_and_16 atomic_and_16_nv atomic_and_32 atomic_and_32_nv atomic_and_64 atomic_and_64_nv atomic_and_8 atomic_and_8_nv atomic_and_uchar atomic_and_uchar_nv atomic_and_uint atomic_and_uint_nv atomic_and_ulong atomic_and_ulong_nv atomic_and_ushort atomic_and_ushort_nv atomic_cas_16 atomic_cas_32 atomic_cas_64 atomic_cas_8 atomic_cas_ptr atomic_cas_uchar atomic_cas_uint atomic_cas_ulong atomic_cas_ushort atomic_clear_long_excl atomic_dec_16 atomic_dec_16_nv atomic_dec_32 atomic_dec_32_nv atomic_dec_64 atomic_dec_64_nv atomic_dec_8 atomic_dec_8_nv atomic_dec_ptr atomic_dec_ptr_nv atomic_dec_uchar atomic_dec_uchar_nv atomic_dec_uint atomic_dec_uint_nv atomic_dec_ulong atomic_dec_ulong_nv atomic_dec_ushort atomic_dec_ushort_nv atomic_inc_16 atomic_inc_16_nv atomic_inc_32 atomic_inc_32_nv atomic_inc_64 atomic_inc_64_nv atomic_inc_8 atomic_inc_8_nv atomic_inc_ptr atomic_inc_ptr_nv atomic_inc_uchar atomic_inc_uchar_nv atomic_inc_uint atomic_inc_uint_nv atomic_inc_ulong atomic_inc_ulong_nv atomic_inc_ushort atomic_inc_ushort_nv atomic_or_16 atomic_or_16_nv atomic_or_32 atomic_or_32_nv atomic_or_64 atomic_or_64_nv atomic_or_8 atomic_or_8_nv atomic_or_uchar atomic_or_uchar_nv atomic_or_uint atomic_or_uint_nv atomic_or_ulong atomic_or_ulong_nv atomic_or_ushort atomic_or_ushort_nv atomic_set_long_excl atomic_swap_16 atomic_swap_32 atomic_swap_64 atomic_swap_8 atomic_swap_ptr atomic_swap_uchar atomic_swap_uint atomic_swap_ulong atomic_swap_ushort attropen backtrace backtrace_symbols backtrace_symbols_fd basename bcmp bcopy bindtextdomain bind_textdomain_codeset brk bsd_signal bsearch btowc bzero calloc catclose catgets catopen cfgetispeed cfgetospeed cfsetispeed cfsetospeed cftime chdir chmod chown chroot clearerr clock clock_getres clock_gettime clock_nanosleep clock_settime close closedir closefrom closelog cond_broadcast cond_destroy cond_init cond_reltimedwait cond_signal cond_timedwait cond_wait confstr creat crypt crypt_genhash_impl crypt_gensalt crypt_gensalt_impl csetcol csetlen ctermid ctermid_r ctime ctime_r cuserid daylight dbm_clearerr dbm_close dbm_delete dbm_error dbm_fetch dbm_firstkey dbm_nextkey dbm_open dbm_store dcgettext dcngettext decimal_to_double decimal_to_extended decimal_to_quadruple decimal_to_single dgettext difftime directio dirfd dirname div dladdr dladdr1 dlclose dldump dlerror dlinfo dlmopen dlopen dlsym dngettext door_bind door_call door_create door_cred door_getparam door_info door_return door_revoke door_server_create door_setparam door_ucred door_unbind double_to_decimal drand48 dup dup2 econvert ecvt enable_extended_FILE_stdio encrypt endgrent endnetgrent endpwent endspent endusershell endutent endutxent environ erand48 err errno errx euccol euclen eucscol execl execle execlp execv execve execvp exit extended_to_decimal facl fattach fchdir fchmod fchown fchownat fchroot fclose fcntl fconvert fcvt fdatasync fdetach fdopen fdopendir fdwalk feof ferror fflush ffs fgetattr fgetc fgetgrent fgetgrent_r fgetpos fgetpwent fgetpwent_r fgets fgetspent fgetspent_r fgetwc fgetws file_to_decimal 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 func_to_decimal funlockfile futimesat fwide fwprintf fwrite fwscanf gconvert gcvt getacct getattrat getc getc_unlocked getchar getchar_unlocked getcontext getcpuid getcwd getdate getdate_err getdents getdtablesize getegid getenv geteuid getexecname getextmntent getgid getgrent getgrent_r getgrgid getgrgid_r getgrnam getgrnam_r getgroups gethomelgroup gethostid gethostname gethrtime gethrvtime getisax getitimer getloadavg getlogin getlogin_r getmntany getmntent getmsg getnetgrent getnetgrent_r getopt getopt_clip getopt_long getopt_long_only getpagesize getpagesizes getpass getpassphrase getpeerucred getpflags getpgid getpgrp getpid getpmsg getppid getppriv getpriority getprojid getpw getpwent getpwent_r getpwnam getpwnam_r getpwuid getpwuid_r getrctl getrlimit getrusage gets getsid getspent getspent_r getspnam getspnam_r 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 gmtime_r grantpt gsignal hasmntopt hcreate hdestroy hsearch iconv iconv_close iconv_open imaxabs imaxdiv index initgroups initstate innetgr insque ioctl is_system_labeled 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 lio_listio llabs lldiv llog10 llseek lltostr localeconv localtime localtime_r lockf logb lone longjmp lrand48 lsearch lseek lshiftl lstat lsub lten lzero madvise makecontext makeutx malloc mblen mbrlen mbrtowc mbsinit mbsrtowcs mbstowcs mbtowc memalign membar_consumer membar_enter membar_exit membar_producer memccpy memchr memcmp memcntl memcpy meminfo memmove memset mincore mkdir mkfifo mknod mkstemp mktemp mktime mlock mlockall mmap mmapobj modctl modf modff modutx monitor mount mprotect mq_close mq_getattr mq_notify mq_open mq_receive mq_reltimedreceive_np mq_reltimedsend_np mq_send mq_setattr mq_timedreceive mq_timedsend mq_unlink mrand48 msgctl msgget msgids msgrcv msgsnap msgsnd msync munlock munlockall munmap mutex_consistent mutex_destroy mutex_init mutex_lock mutex_trylock mutex_unlock nanosleep nextafter nfs_getfh nftw ngettext nice nl_langinfo nrand48 nss_default_finders nss_delete nss_endent nss_getent nss_search nss_setent ntp_adjtime ntp_gettime open openat opendir openlog optarg opterr optind optopt p_online pathconf pause pclose pcsample perror pfmt pipe plock poll popen port_alert port_associate port_create port_dissociate port_get port_getn port_send port_sendn posix_fadvise posix_fallocate posix_madvise posix_memalign posix_openpt posix_spawn posix_spawn_file_actions_addclose posix_spawn_file_actions_addclosefrom_np posix_spawn_file_actions_adddup2 posix_spawn_file_actions_addopen posix_spawn_file_actions_destroy posix_spawn_file_actions_init posix_spawnattr_destroy posix_spawnattr_getflags posix_spawnattr_getpgroup posix_spawnattr_getschedparam posix_spawnattr_getschedpolicy posix_spawnattr_getsigdefault posix_spawnattr_getsigignore_np posix_spawnattr_getsigmask posix_spawnattr_init posix_spawnattr_setflags posix_spawnattr_setpgroup posix_spawnattr_setschedparam posix_spawnattr_setschedpolicy posix_spawnattr_setsigdefault posix_spawnattr_setsigignore_np posix_spawnattr_setsigmask posix_spawnp pread printf printstack priocntl priocntlset priv_addset priv_allocset priv_copyset priv_delset priv_emptyset priv_fillset priv_freeset priv_getbyname priv_getbynum priv_getsetbyname priv_getsetbynum priv_gettext priv_ineffect priv_intersect priv_inverse priv_isemptyset priv_isequalset priv_isfullset priv_ismember priv_issubset priv_set priv_set_to_str priv_str_to_set priv_union processor_bind processor_info profil pselect pset_assign pset_bind pset_create pset_destroy pset_getattr pset_getloadavg pset_info pset_list pset_setattr psiginfo psignal pthread_atfork pthread_attr_destroy pthread_attr_getdetachstate pthread_attr_getguardsize pthread_attr_getinheritsched pthread_attr_getschedparam pthread_attr_getschedpolicy pthread_attr_getscope pthread_attr_getstack pthread_attr_getstackaddr pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate pthread_attr_setguardsize pthread_attr_setinheritsched pthread_attr_setschedparam pthread_attr_setschedpolicy pthread_attr_setscope pthread_attr_setstack pthread_attr_setstackaddr pthread_attr_setstacksize pthread_barrier_destroy pthread_barrier_init pthread_barrier_wait pthread_barrierattr_destroy pthread_barrierattr_getpshared pthread_barrierattr_init pthread_barrierattr_setpshared pthread_cancel pthread_cond_broadcast pthread_cond_destroy pthread_cond_init pthread_cond_reltimedwait_np pthread_cond_signal pthread_cond_timedwait pthread_cond_wait pthread_condattr_destroy pthread_condattr_getclock pthread_condattr_getpshared pthread_condattr_init pthread_condattr_setclock pthread_condattr_setpshared pthread_create pthread_detach pthread_equal pthread_exit pthread_getconcurrency pthread_getschedparam pthread_getspecific pthread_join pthread_key_create pthread_key_create_once_np pthread_key_delete pthread_kill pthread_mutex_consistent pthread_mutex_destroy pthread_mutex_getprioceiling pthread_mutex_init pthread_mutex_lock pthread_mutex_reltimedlock_np pthread_mutex_setprioceiling pthread_mutex_timedlock pthread_mutex_trylock pthread_mutex_unlock pthread_mutexattr_destroy pthread_mutexattr_getprioceiling pthread_mutexattr_getprotocol pthread_mutexattr_getpshared pthread_mutexattr_getrobust pthread_mutexattr_gettype pthread_mutexattr_init pthread_mutexattr_setprioceiling pthread_mutexattr_setprotocol pthread_mutexattr_setpshared pthread_mutexattr_setrobust pthread_mutexattr_settype pthread_once pthread_rwlock_destroy pthread_rwlock_init pthread_rwlock_rdlock pthread_rwlock_reltimedrdlock_np pthread_rwlock_reltimedwrlock_np pthread_rwlock_timedrdlock pthread_rwlock_timedwrlock pthread_rwlock_tryrdlock pthread_rwlock_trywrlock pthread_rwlock_unlock pthread_rwlock_wrlock pthread_rwlockattr_destroy pthread_rwlockattr_getpshared pthread_rwlockattr_init pthread_rwlockattr_setpshared pthread_self pthread_setcancelstate pthread_setcanceltype pthread_setconcurrency pthread_setspecific pthread_sigmask pthread_setschedparam pthread_setschedprio pthread_spin_destroy pthread_spin_init pthread_spin_lock pthread_spin_trylock pthread_spin_unlock pthread_testcancel ptsname putacct putc putc_unlocked putchar putchar_unlocked putenv putmsg putpmsg putpwent puts putspent pututline pututxline putw putwc putwchar putws pwrite qeconvert qecvt qfconvert qfcvt qgconvert qgcvt qsort quadruple_to_decimal raise rand rand_r random rctl_walk rctlblk_get_enforced_value rctlblk_get_firing_time rctlblk_get_global_action rctlblk_get_global_flags rctlblk_get_local_action rctlblk_get_local_flags rctlblk_get_privilege rctlblk_get_recipient_pid rctlblk_get_value rctlblk_set_local_action rctlblk_set_local_flags rctlblk_set_privilege rctlblk_set_recipient_pid rctlblk_set_value rctlblk_size re_comp re_exec read readdir readdir_r readlink readv realloc realpath reboot regcmp regcomp regerror regex regexec regfree remove remque rename renameat resetmnttab resolvepath rewind rewinddir rindex rmdir rw_rdlock rw_read_held rw_tryrdlock rw_trywrlock rw_unlock rw_write_held rw_wrlock rwlock_destroy rwlock_init sbrk scalb scandir scanf sched_get_priority_max sched_get_priority_min sched_getparam sched_getscheduler sched_rr_get_interval sched_setparam sched_setscheduler sched_yield schedctl_exit schedctl_init schedctl_lookup schedctl_start schedctl_stop seconvert seed48 seekdir select sem_close sem_destroy sem_getvalue sem_init sem_open sem_post sem_reltimedwait_np sem_timedwait sem_trywait sem_unlink sem_wait sema_destroy sema_held sema_init sema_post sema_trywait sema_wait semctl semget semids semop semtimedop setattrat setbuf setbuffer setcat setcontext setegid setenv seteuid setgid setgrent setgroups sethostname setitimer setjmp 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 shm_open shm_unlink 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 single_to_decimal sleep snprintf sprintf srand srand48 srandom sscanf ssignal stack_getbounds stack_inbounds stack_setbounds stack_violation stat statfs statvfs stime str2sig strcasecmp strcat strchr strcmp strcoll strcpy strcspn strdup strerror strerror_r strfmon strftime string_to_decimal strlcat strlcpy strlen strncasecmp strncat strncmp strncpy strpbrk strptime strrchr strsep strsignal strspn strstr strtod strtof strtoimax strtok strtok_r strtol strtold strtoll strtoul strtoull strtoumax strtows strxfrm swab swapcontext swapctl swprintf swscanf symlink sync sync_instruction_memory sysconf sysfs sysinfo syslog system tcdrain tcflow tcflush tcgetattr tcgetpgrp tcgetsid tcsendbreak tcsetattr tcsetpgrp tdelete tell telldir tempnam textdomain tfind thr_continue thr_create thr_exit thr_getconcurrency thr_getprio thr_getspecific thr_join thr_keycreate thr_keycreate_once thr_kill thr_main thr_min_stack thr_self thr_setconcurrency thr_setprio thr_setspecific thr_sigsetmask thr_stksegment thr_suspend thr_yield time timer_create timer_delete timer_getoverrun timer_gettime timer_settime times timezone tmpfile tmpnam tmpnam_r toascii tolower toupper towctrans towlower towupper truncate tsearch ttyname ttyname_r ttyslot twalk tzname tzset u8_strcmp u8_textprep_str u8_validate uadmin ualarm uconv_u16tou32 uconv_u16tou8 uconv_u32tou16 uconv_u32tou8 uconv_u8tou16 uconv_u8tou32 ucred_free ucred_get ucred_getegid ucred_geteuid ucred_getgroups ucred_getpflags ucred_getpid ucred_getprivset ucred_getprojid ucred_getrgid ucred_getruid ucred_getsgid ucred_getsuid ucred_getzoneid ucred_size 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 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 __posix_readdir_r __rem64 __udiv64 __urem64 _bufendtab _lastbuf _s_fcntl _sys_nsig _xftw64 aio_cancel64 aio_error64 aio_fsync64 aio_read64 aio_return64 aio_suspend64 aio_waitn64 aio_write64 creat64 fgetpos64 fopen64 freopen64 fseeko64 fsetpos64 fstat64 fstatvfs64 ftello64 ftruncate64 ftw64 getdents64 getrlimit64 lio_listio64 lockf64 lseek64 lstat64 mkstemp64 mmap64 nftw64 open64 pread64 ptrace pwrite64 readdir64 readdir64_r s_fcntl s_ioctl select_large_fdset setrlimit64 stat64 statvfs64 sys_errlist sys_nerr tell64 tmpfile64 truncate64 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 _xstat nuname 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 TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsl (32-bit) | | |SUNWcslx (64-bit) | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ 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. Stan- dard-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. SunOS 5.11 20 Feb 2009 libc(3LIB)

Featured Tech Videos