Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 22 Jan 2001 10:59:28 -0600
From:      "Jacques A. Vidrine" <n@nectar.com>
To:        Daniel Eischen <eischen@vigrid.com>
Cc:        arch@freebsd.org
Subject:   reserved names and names that ought to be hidden in 4.2-STABLE (was Re: Request For Review: libc/libc_r changes to allow -lc_r)
Message-ID:  <20010122105928.A93570@hamlet.nectar.com>
In-Reply-To: <20010122093043.B93103@hamlet.nectar.com>; from n@nectar.com on Mon, Jan 22, 2001 at 09:30:43AM -0600
References:  <20010120153158.A88123@hamlet.nectar.com> <Pine.SUN.3.91.1010120171614.8403A-100000@pcnet1.pcnet.com> <20010122093043.B93103@hamlet.nectar.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Jan 22, 2001 at 09:30:43AM -0600, Jacques A. Vidrine wrote:
> ISO/IEC 9899:1999 lists the reserved names.  Any other library
> functions should ideally be hidden.  Maybe I'll make a list of the
> reserved names and post'em.

What follows are the reserved function names taken from ISO/IEC
9899:1999, and then a list of symbols found in 4.2-STABLE libc that
meet these criteria: 
   = listed by `nm --defined-only -gp'
   = do not begin with '_'
   = are not one of the names in the function list
There are over 300 of the former, and over 800 of the latter.

There were also these.  I'm not sure what to make of them.  Clearly
they cannot be used in C.
  .cerror
  .curbrk
  .mcount
  .minbrk


-- function names from ISO/IEC 9899:1999 --
  <complex.h>
    cacos[fl]?
    casin[fl]?
    catan[fl]?
    ccos[fl]?
    csin[fl]?
    ctan[fl]?
    cacosh[fl]?
    casinh[fl]?
    catanh[fl]?
    ccosh[fl]?
    csinh[fl]?
    ctanh[fl]?
    cexp[fl]?
    clog[fl]?
    cabs[fl]?
    cpow[fl]?
    csqrt[fl]?
    carg[fl]?
    cimag[fl]?
    conj[fl]?
    cproj[fl]?
    creal[fl]?
  <ctype.h>
    isalnum
    isalpha
    isblank
    iscntrl
    isdigit
    isgraph
    islower
    isprint
    ispunct
    isspace
    isupper
    isxdigit
    tolower
    toupper
  <errno.h>
    errno
  <fenv.h>
    feclearexcept
    fegetexceptflag
    feraiseexcept
    fesetexceptflag
    fesetexcept
    fegetround
    fesetround
    fegetenv
    feholdexcept
    fesetenv
    feupdateenv
  <inttypes.h>
    imaxabs
    imaxdiv
    strtoimax
    strtoumax
    wcstoimax
    wcstoumax
  <locale.h>
    setlocale
    localeconv
  <math.h>
    fpclassify
    isfinite
    isinf
    isnan
    isnormal
    signbit
    acos[fl]?
    asin[fl]?
    atan[fl]?
    atan2[fl]?
    cos[fl]?
    sin[fl]?
    tan[fl]?
    acosh[fl]?
    asinh[fl]?
    atanh[fl]?
    cosh[fl]?
    sinh[fl]?
    tanh[fl]?
    exp[fl]?
    exp2[fl]?
    expm1[fl]?
    frexp[fl]?
    ilogb[fl]?
    ldexp[fl]?
    log[fl]?
    log10[fl]?
    log1p[fl]?
    log2[fl]?
    logb[fl]?
    modf[fl]?
    scalbn[fl]?
    scalbln[fl]?
    cbrt[fl]?
    fabs[fl]?
    hypot[fl]?
    pow[fl]?
    sqrt[fl]?
    erf[fl]?
    erfc[fl]?
    lgamma[fl]?
    tgamma[fl]?
    ceil[fl]?
    floor[fl]?
    nearbyint[fl]?
    rint[fl]?
    lrint[fl]?
    llrint[fl]?
    round[fl]?
    lround[fl]?
    llround[fl]?
    trunc[fl]?
    fmod[fl]?
    remainder[fl]?
    remquo[fl]?
    copysign[fl]?
    nan[fl]?
    nextafter[fl]?
    nexttoward[fl]?
    fdim[fl]?
    fmax[fl]?
    fmin[fl]?
    fma[fl]?
    isgreater
    isgreaterequal
    isless
    islessequal
    islessgreater
    isunordered
  <setjmp.h>
    setjmp
    longjmp
  <signal.h>
    signal
    raise
  <stdarg.h>
    va_start
    va_end
    va_copy
    va_arg
  <stdio.h>
    stderr
    stdin
    stdout
    remove
    rename
    tmpfile
    tmpnam
    fclose
    fflush
    fopen
    freopen
    setbuf
    setvbuf
    fprintf
    fscanf
    scanf
    snprintf
    sprintf
    sscanf
    vfprintf
    vfscanf
    vprintf
    vscanf
    vsprintf
    vsnprintf
    vsscanf
    fgetc
    fgets
    fputc
    fputs
    getc
    getchar
    gets
    putc
    putchar
    puts
    ungetc
    fread
    fwrite
    fgetpos
    fseek 
    ftell
    fsetpos
    rewind
    clearerr
    feof
    ferror
    perror
  <stdlib.h>
    atof
    ato[il]
    atoll
    strto[df]
    strtold
    strtol
    strto[lu]l
    strtoull
    rand
    srand
    calloc
    free
    malloc
    realloc
    abort
    atexit
    exit
    getenv
    system
    bsearch
    qsort
    abs
    labs
    llabs
    div
    ldiv
    lldiv
    mblen
    mbtowc
    wctomb
    mbstowcs
    wcstombs
  <string.h>
    memcpy
    memmove
    strcpy
    strncpy
    strcat
    strncat
    memcmp
    strcmp
    strcoll
    strncmp
    strxfrm
    memchr
    strchr
    strcspn
    strpbrk
    strrchr
    strspn
    strstr
    strtok	
    memset
    strerror
    strlen
  <time.h>
    clock
    difftime
    mktime
    time
    asctime
    ctime
    gmtime
    localtime
    strftime
  <wchar.h>
    fwprintf
    fwscanf
    swprintf
    swscanf
    vfwprintf
    vfwscanf
    vswprintf
    vswscanf
    vwprintf
    vwscanf
    wprintf
    wscanf
    fgetwc
    fgetws
    fputwc
    fputws
    fwide
    getwc
    getwchar
    putwc
    putwchar
    ungetwc
    wcsto[df]
    wcstold
    wcstol
    wcsto[lu]l
    wcstoull
    wcscpy
    wcsncpy
    wmemcpy
    wmemmove
    wcscat
    wcsncat
    wcscmp
    wcscoll
    wcsncmp
    wcsxfrm
    wmemcmp
    wcschr
    wcscspn
    wcspbrk
    wcsrchr
    wcsspn
    wcsstr
    wcstok
    wmemchr
    wcslen
    wmemset
    wcsftime
    btowc
    wctob
    mbrlen
    mbrtowc
    wcrtomb
    mbsrtowcs
    wcsrtombs
  <wctype.h>
    iswalnum
    iswalpha
    iswblank
    iswcntrl
    iswdigit
    iswgraph
    iswlower
    iswprint
    iswpunct
    iswspace
    iswupper
    iswxdigit
    iswctype
    wctype
    towlower
    towupper
    towctrans
    wctrans
-- function names in 4.2-STABLE libc that should be hidden --
accept
access
acct
addr2ascii
adjtime
aio_cancel
aio_error
aio_read
aio_return
aio_suspend
aio_waitcomplete
aio_write
alarm
alloca
alphasort
arc4random
arc4random_addrandom
arc4random_stir
ascii2addr
asprintf
authdes_create
authdes_getucred
authdes_pk_create
authnone_create
authunix_create
authunix_create_default
basename
bcmp
bcopy
bind
bindresvport
bindresvport_sa
brk
bzero
callrpc
catclose
catgets
catopen
cbc_crypt
cfgetispeed
cfgetospeed
cfmakeraw
cfsetispeed
cfsetospeed
cfsetspeed
cgetcap
cgetclose
cgetent
cgetfirst
cgetmatch
cgetnext
cgetnum
cgetset
cgetstr
cgetustr
chdir
chflags
chmod
chown
chroot
clnt_broadcast
clnt_create
clnt_pcreateerror
clnt_perrno
clnt_perror
clnt_spcreateerror
clnt_sperrno
clnt_sperror
clntraw_create
clnttcp_create
clntudp_bufcreate
clntudp_create
clntunix_create
close
closedir
closelog
confstr
connect
creat
ctermid
ctermid_r
daemon
dbm_clearerr
dbm_close
dbm_delete
dbm_dirfno
dbm_error
dbm_fetch
dbm_firstkey
dbm_nextkey
dbm_open
dbm_store
dbopen
des_cipher
des_crypt_1
des_setkey
des_setparity
devname
digittoint
dirname
dladdr
dlclose
dlerror
dllockinit
dlopen
dlsym
dn_comp
dn_count_labels
dn_expand
drand48
dup
dup2
ecb_crypt
encrypt
endfsent
endgrent
endhostent
endnetent
endnetgrent
endprotoent
endpwent
endrpcent
endservent
endttyent
endusershell
endvfsent
erand48
err
err_set_exit
err_set_file
errc
errx
ether_aton
ether_hostton
ether_line
ether_ntoa
ether_ntohost
execl
execle
execlp
exect
execv
execve
execvp
extattr_delete_file
extattr_get_file
extattr_set_file
extattrctl
f_prealloc
fchdir
fchflags
fchmod
fchown
fcntl
fdopen
fflagstostr
ffs
fgetln
fgetrune
fhopen
fhstat
fhstatfs
fileno
flock
flockfile
fnmatch
fork
fp_resstat
fpathconf
fpurge
fputrune
fstat
fstatfs
fsync
ftok
ftruncate
ftrylockfile
fts_children
fts_close
fts_open
fts_read
fts_set
fungetrune
funlockfile
funopen
futimes
gai_strerror
get_myaddress
getaddrinfo
getbootfile
getbsize
getdents
getdirentries
getdiskbyname
getdomainname
getdtablesize
getegid
geteuid
getfh
getfsent
getfsfile
getfsspec
getfsstat
getgid
getgrent
getgrgid
getgrnam
getgrouplist
getgroups
gethostbyaddr
gethostbyname
gethostbyname2
gethostent
gethostid
gethostname
getifaddrs
getipnodebyaddr
getipnodebyname
getitimer
getloadavg
getlogin
getlogin_r
getmntinfo
getmode
getnameinfo
getnetbyaddr
getnetbyname
getnetent
getnetgrent
getnetname
getobjformat
getopt
getosreldate
getpagesize
getpass
getpeername
getpgid
getpgrp
getpid
getppid
getpriority
getprotobyname
getprotobynumber
getprotoent
getpublicandprivatekey
getpublickey
getpwent
getpwnam
getpwuid
getresgid
getresuid
getrlimit
getrpcbyname
getrpcbynumber
getrpcent
getrpcport
getrusage
gettimeofday
getttyent
getttynam
getuid
getusershell
getvfsbyname
getvfsbytype
getvfsent
getw
getwd
glob
globfree
group_from_gid
h_errlist
h_errno
h_nerr
hash_create
hash_destroy
hash_purge
hash_search
hash_stats
hash_traverse
hcreate
hdestroy
heapsort
herror
host2netname
hsearch
hstrerror
htonl
htons
i386_clr_watch
i386_get_ioperm
i386_get_ldt
i386_set_ioperm
i386_set_ldt
i386_set_watch
i386_vm86
if_freenameindex
if_indextoname
if_nameindex
if_nametoindex
in6addr_any
in6addr_linklocal_allnodes
in6addr_loopback
in6addr_nodelocal_allnodes
index
inet6_option_alloc
inet6_option_append
inet6_option_find
inet6_option_init
inet6_option_next
inet6_option_space
inet6_rthdr_add
inet6_rthdr_getaddr
inet6_rthdr_getflags
inet6_rthdr_init
inet6_rthdr_lasthop
inet6_rthdr_segments
inet6_rthdr_space
inet_addr
inet_aton
inet_lnaof
inet_makeaddr
inet_net_ntop
inet_net_pton
inet_neta
inet_netof
inet_network
inet_nsap_addr
inet_nsap_ntoa
inet_ntoa
inet_ntop
inet_pton
initgroups
initstate
innetgr
ioctl
iruserok
iruserok_sa
isascii
isatty
isdialuptty
ishexnumber
isideogram
isnettty
isnumber
isphonogram
isrune
issetugid
isspecial
jail
jrand48
kevent
key_decryptsession
key_decryptsession_pk
key_encryptsession
key_encryptsession_pk
key_gendes
key_get_conv
key_secretkey_is_set
key_setnet
key_setsecret
kill
killpg
kldfind
kldfirstmod
kldload
kldnext
kldstat
kldsym
kldunload
kqueue
ktrace
lchmod
lchown
lcong48
link
link_addr
link_ntoa
lio_listio
listen
lockf
lrand48
lseek
lstat
lutimes
madvise
mbmb
mbrrune
mbrune
memccpy
mergesort
mincore
minherit
mkdir
mkdtemp
mkfifo
mknod
mkstemp
mkstemps
mktemp
mlock
mmap
modnext
modstat
moncontrol
monstartup
mount
mpool_close
mpool_filter
mpool_get
mpool_new
mpool_open
mpool_put
mpool_sync
mprotect
mrand48
msgctl
msgget
msgrcv
msgsnd
msgsys
msync
munlock
munmap
netbsd_lchown
netbsd_msync
netname2host
netname2user
new_getvfsbyname
nfssvc
nfstat
nice
nlist
nlstat
nrand48
ns_addr
ns_name_skip
ns_ntoa
nstat
ntohl
ntohs
ntp_adjtime
ntp_gettime
offtime
open
opendir
openlog
optarg
opterr
optind
optopt
optreset
p_fqnname
p_query
p_secstodate
paddr
pathconf
pause
pclose
pipe
pl
pmap_getmaps
pmap_getport
pmap_rmtcall
pmap_set
pmap_unset
poll
popen
posix2time
pread
printf
profil
psignal
ptrace
putenv
putw
pwrite
quotactl
radixsort
rcmd
rcmd_af
read
readdir
readdir_r
readlink
readv
realpath
reboot
recv
recvfrom
recvmsg
regcomp
regerror
regexec
regfree
registerrpc
res_init
res_mkquery
res_query
res_querydomain
res_search
res_send
res_send_setqhook
res_send_setrhook
res_update
revoke
rfork
rindex
rmdir
rpc_createerr
rpcdata
rresvport
rresvport_af
rtime
rtprio
ruserok
sbrk
scandir
sched_get_priority_max
sched_get_priority_min
sched_getparam
sched_getscheduler
sched_rr_get_interval
sched_setparam
sched_setscheduler
sched_yield
seed48
seekdir
select
semconfig
semctl
semget
semop
semsys
send
sendfile
sendmsg
sendto
set_rpc_maxgrouplist
setdomainname
setegid
setenv
seteuid
setfsent
setgid
setgrent
setgroupent
setgroups
sethostent
sethostid
sethostname
setinvalidrune
setitimer
setkey
setlinebuf
setlogin
setlogmask
setmode
setnetent
setnetgrent
setpassent
setpgid
setpgrp
setpriority
setproctitle
setprotoent
setpwent
setregid
setresgid
setresuid
setreuid
setrgid
setrlimit
setrpcent
setruid
setrunelocale
setservent
setsid
setsockopt
setstate
settimeofday
setttyent
setuid
setusershell
setvfsent
shm_open
shm_unlink
shmat
shmctl
shmdt
shmget
shmsys
shutdown
sigaction
sigaddset
sigaltstack
sigblock
sigdelset
sigemptyset
sigfillset
siginterrupt
sigismember
siglongjmp
sigpause
sigpending
sigprocmask
sigreturn
sigsetjmp
sigsetmask
sigsuspend
sigvec
sl_add
sl_find
sl_free
sl_init
sleep
socket
socketpair
sradixsort
stat
statfs
strcasecmp
strdup
strlcat
strlcpy
strmode
strncasecmp
strptime
strsep
strsignal
strtoq
strtouq
strunvis
strunvisx
strvis
strvisx
suboptarg
svc_auth_reg
svc_fdset
svc_getreq
svc_getreqset
svc_getreqset2
svc_maxfd
svc_register
svc_run
svc_sendreply
svc_unregister
svcerr_auth
svcerr_decode
svcerr_noproc
svcerr_noprog
svcerr_progvers
svcerr_systemerr
svcerr_weakauth
svcfd_create
svcraw_create
svctcp_create
svcudp_bufcreate
svcudp_create
svcudp_enablecache
svcunix_create
svcunixfd_create
swab
swapon
sym_ntop
sym_ntos
sym_ston
symlink
sync
sys_errlist
sys_nerr
sys_nsig
sys_siglist
sys_signame
sysarch
syscall
sysconf
sysctl
sysctlbyname
syslog
tcdrain
tcflow
tcflush
tcgetattr
tcgetpgrp
tcsendbreak
tcsetattr
tcsetpgrp
tdelete
telldir
tempnam
tfind
toascii
tsearch
ttyname
ttyslot
twalk
tzname
tzset
tzsetwall
ualarm
umask
uname
undelete
unlink
unmount
unsetenv
unvis
user2netname
user_from_uid
usleep
utime
utimes
utrace
vadvise
valloc
vasprintf
verr
verrc
verrx
vfork
vfsisloadable
vfsload
vis
vsyslog
vwarn
vwarnc
vwarnx
wait
wait3
wait4
waitpid
warn
warnc
warnx
write
writev
xdr_accepted_reply
xdr_array
xdr_authdes_cred
xdr_authdes_verf
xdr_authunix_parms
xdr_bool
xdr_bytes
xdr_callhdr
xdr_callmsg
xdr_char
xdr_cryptkeyarg
xdr_cryptkeyarg2
xdr_cryptkeyres
xdr_datum
xdr_des_block
xdr_des_dir
xdr_des_mode
xdr_desargs
xdr_desresp
xdr_domainname
xdr_double
xdr_enum
xdr_float
xdr_free
xdr_getcredres
xdr_int
xdr_int16_t
xdr_int32_t
xdr_int64_t
xdr_key_netstarg
xdr_key_netstres
xdr_keybuf
xdr_keydat
xdr_keystatus
xdr_long
xdr_mapname
xdr_netnamestr
xdr_netobj
xdr_opaque
xdr_opaque_auth
xdr_peername
xdr_pmap
xdr_pmaplist
xdr_pointer
xdr_reference
xdr_rejected_reply
xdr_replymsg
xdr_rmtcall_args
xdr_rmtcallres
xdr_short
xdr_sizeof
xdr_string
xdr_u_char
xdr_u_int
xdr_u_int16_t
xdr_u_int32_t
xdr_u_int64_t
xdr_u_long
xdr_u_short
xdr_union
xdr_unixcred
xdr_valdat
xdr_vector
xdr_void
xdr_wrapstring
xdr_ypbind_binding
xdr_ypbind_resp
xdr_ypbind_resptype
xdr_ypbind_setdom
xdr_ypmap_parms
xdr_ypmaplist
xdr_yppush_status
xdr_yppushresp_xfr
xdr_ypreq_key
xdr_ypreq_nokey
xdr_ypreq_xfr
xdr_ypreqtype
xdr_yprequest
xdr_ypresp_all
xdr_ypresp_all_seq
xdr_ypresp_key_val
xdr_ypresp_maplist
xdr_ypresp_master
xdr_ypresp_order
xdr_ypresp_val
xdr_ypresp_xfr
xdr_ypresponse
xdr_ypresptype
xdr_ypstat
xdr_ypxfrstat
xdrmem_create
xdrrec_create
xdrrec_endofrecord
xdrrec_eof
xdrrec_skiprecord
xdrstdio_create
xprt_register
xprt_unregister
yp_all
yp_bind
yp_first
yp_get_default_domain
yp_maplist
yp_master
yp_match
yp_next
yp_order
yp_unbind
ypbinderr_string
yperr_string
ypprot_err
ypresp_allfn
ypresp_data

-- 
Jacques Vidrine / n@nectar.com / jvidrine@verio.net / nectar@FreeBSD.org


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010122105928.A93570>