| LIBC(3LIB) | Interface Libraries | LIBC(3LIB) |
libc - C library
Functions in this library provide various facilities defined by System V, ANSI C, POSIX, and so on. See standards(7). 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.
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 | __mb_cur_max_l |
| __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 | __unlockpt_xpg4 |
| __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 |
| btowc_l | bzero |
| calloc | canonicalize_file_name |
| catclose | catgets |
| catopen | cfgetispeed |
| cfgetospeed | cfsetispeed |
| cfsetospeed | cftime |
| chdir | chmod |
| chown | chroot |
| clearerr | clearenv |
| 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 | daemon |
| 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 |
| duplocale | 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 |
| faccessat | facl |
| fattach | fchdir |
| fchmod | fchmodat |
| fchown | fchownat |
| fchroot | fclose |
| fcloseall | fcntl |
| fconvert | fcvt |
| fdatasync | fdetach |
| fdopen | fdopendir |
| fdwalk | feof |
| ferror | fflush |
| ffs | ffsl |
| ffsll | fls |
| flsl | flsll |
| fgetattr | fgetc |
| fgetgrent | fgetgrent_r |
| fgetpos | fgetpwent |
| fgetpwent_r | fgets |
| fgetspent | fgetspent_r |
| fgetwc | fgetwc_l |
| 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 |
| freelocale | freopen |
| frexp | fscanf |
| fseek | fseeko |
| fsetattr | fsetpos |
| fstat | fstatat |
| fstatfs | fstatvfs |
| fsync | ftell |
| ftello | ftime |
| ftok | ftruncate |
| ftrylockfile | ftw |
| func_to_decimal | funlockfile |
| futimens | futimes |
| 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 |
| get_nprocs | get_nprocs_conf |
| getnetgrent | getnetgrent_r |
| getopt | getopt_clip |
| getopt_long | getopt_long_only |
| getpagesize | getpagesizes |
| getpass | getpassphrase |
| getpeerucred | getpflags |
| getpgid | getpgrp |
| getpid | getpmsg |
| getppid | getppriv |
| getpriority | getprogname |
| 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 | getwc_l |
| getwchar | getwchar_l |
| 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 |
| isalnum_l | isalpha |
| isalpha_l | isascii |
| isastream | isatty |
| isblank | isblank_l |
| iscntrl | iscntrl_l |
| isdigit | isdigit_l |
| isenglish | isgraph |
| isgraph_l | isideogram |
| islower | islower_l |
| isnan | isnand |
| isnanf | isnumber |
| isphonogram | isprint |
| isprint_l | ispunct |
| ispunct_l | issetugid |
| isspace | isspace_l |
| isspecial | isupper |
| isupper_l | iswalnum |
| iswalnum_l | iswalpha |
| iswalpha_l | iswblank |
| iswblank_l | iswcntrl |
| iswcntrl_l | iswctype |
| iswctype_l | iswdigit |
| iswdigit_l | iswideogram |
| iswideogram_l | iswgraph |
| iswgraph_l | iswhexnumber |
| iswhexnumber_l | iswlower |
| iswlower_l | iswnumber |
| iswnumber_l | iswphonogram |
| iswphonogram_l | iswprint |
| iswprint_l | iswpunct |
| iswpunct_l | iswspace |
| iswspace_l | iswspecial |
| iswspecial_l | iswupper |
| iswupper_l | iswxdigit |
| iswxdigit_l | isxdigit |
| isxdigit_l | jrand48 |
| kill | killpg |
| l64a | labs |
| ladd | lchown |
| lckpwdf | lcong48 |
| ldexp | ldivide |
| lexp10 | lfind |
| lfmt | link |
| linkat | lio_listio |
| llabs | lldiv |
| llog10 | llseek |
| lltostr | localeconv |
| localtime | localtime_r |
| lockf | logb |
| lone | longjmp |
| lrand48 | lsearch |
| lseek | lshiftl |
| lstat | lsub |
| lten | lutimes |
| lzero | madvise |
| makecontext | makeutx |
| malloc | mblen |
| mblen_l | mbrlen |
| mbrlen_l | mbrtowc |
| mbrtowc_l | mbsinit |
| mbsinit_l | mbsnrtowcs |
| mbsnrtowcs_l | mbsrtowcs |
| mbsrtowcs_l | mbstowcs |
| mbstowcs_l | mbtowc |
| mbtowc_l | memalign |
| membar_consumer | membar_enter |
| membar_exit | membar_producer |
| memccpy | memchr |
| memcmp | memcntl |
| memcpy | meminfo |
| memmem | memmove |
| memset | mincore |
| mkdir | mkdirat |
| mkfifo | mkfifoat |
| mknod | mknodat |
| 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 | newlocale |
| nfs_getfh | nftw |
| ngettext | nice |
| nl_langinfo | nl_langinfo_l |
| 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_spawn_pipe_np | 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 | preadv |
| 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_get_np |
| 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 | pwritev |
| 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 |
| readlinkat | 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 |
| setprogname | 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 |
| smt_pause | snprintf |
| sprintf | srand |
| srand48 | srandom |
| sscanf | ssignal |
| stack_getbounds | stack_inbounds |
| stack_setbounds | stack_violation |
| stat | statfs |
| statvfs | stime |
| str2sig | strcasecmp |
| strcasecmp_l | strcat |
| strchr | strcmp |
| strcoll | strcpy |
| strcspn | strdup |
| strerror | strerror_l |
| strerror_r | strfmon |
| strfmon_l | strftime |
| strftime_l | string_to_decimal |
| strlcat | strlcpy |
| strlen | strncasecmp |
| strncasecmp_l | strncat |
| strncmp | strncpy |
| strnstr | strpbrk |
| strptime | strptime_l |
| 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 |
| symlinkat | 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 |
| tolower_l | toupper |
| toupper_l | towctrans |
| towctrans_l | towlower |
| towlower_l | towupper |
| towupper_l | 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 | uselocale |
| usleep | ustat |
| utime | utimensat |
| 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 |
| wcpcpy | wcpncpy |
| wcrtomb | wcrtomb_l |
| wcscasecmp | wcscasecmp_l |
| wcscat | wcschr |
| wcscmp | wcscoll |
| wcscoll_l | wcscpy |
| wcscspn | wcsdup |
| wcsftime | wcslen |
| wcsncat | wcsncasecmp |
| wcsncasecmp_l | wcsncmp |
| wcsncpy | wcsnrtombs |
| wcsnrtombs_l | wcspbrk |
| wcsrchr | wcsrtombs |
| wcsrtombs_l | wcsspn |
| wcsstr | wcstod |
| wcstof | wcstoimax |
| wcstok | wcstol |
| wcstold | wcstoll |
| wcstombs | wctombs_l |
| wcstoul | wcstoull |
| wcstoumax | wcswcs |
| wcswidth | wcswidth_l |
| wcsxfrm | wcsxfrm_l |
| wctob | wctob_l |
| wctomb | wctomb_l |
| wctrans | wctrans_l |
| wctype | wctype_l |
| wcwidth | wcwidth_l |
| 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 | preadv64 |
| ptrace | pwrite64 |
| pwritev64 | 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 |
/lib/libc.so.1
/lib/64/libc.so.1
/lib/c_synonyms.so.1
/lib/64/c_synonyms.so.1
See attributes(7) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
| MT-Level | Safe |
pvs(1), Intro(2), Intro(3), attributes(7), lf64(7), standards(7)
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.
illumos 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 illumos.
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.
| September 6, 2020 | OmniOS |