From e4d37c4629e5b93682ddec7d3515cddfabd5c055 Mon Sep 17 00:00:00 2001 From: Bruno Haible Date: Sat, 20 Jul 2024 14:27:10 +0200 Subject: [PATCH] Add TODO lists regarding POSIX:2024. --- posix-2024-doc.TODO | 587 ++++++++++++++++++++++++++++++++++++++ posix-2024-impl.TODO | 663 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1250 insertions(+) create mode 100644 posix-2024-doc.TODO create mode 100644 posix-2024-impl.TODO diff --git a/posix-2024-doc.TODO b/posix-2024-doc.TODO new file mode 100644 index 00000000..e9ef8827 --- /dev/null +++ b/posix-2024-doc.TODO @@ -0,0 +1,587 @@ +Gnulib documentation tasks related to POSIX.1-2024 +================================================== + +Status can be: +- empty for "not evaluated yet" +- WIP while is working on it +- DONE for done + +Documentation +------------- + +Update documentation regarding new header files: +-- Borrowed from ISO C: + + + + + +-- Originating in POSIX: + + + + +Update documentation regarding modified existing header files +(see CHANGE HISTORY > Issue 8): + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Update documentation regarding new functions. +-- Borrowed from ISO C: + CMPLX, CMPLXF, CMPLXL + aligned_alloc + at_quick_exit + atomic_compare_exchange_strong + atomic_compare_exchange_strong_explicit + atomic_compare_exchange_weak + atomic_compare_exchange_weak_explicit + atomic_exchange + atomic_exchange_explicit + atomic_fetch_add + atomic_fetch_add_explicit + atomic_fetch_and + atomic_fetch_and_explicit + atomic_fetch_or + atomic_fetch_or_explicit + atomic_fetch_sub + atomic_fetch_sub_explicit + atomic_fetch_xor + atomic_fetch_xor_explicit + atomic_flag_clear + atomic_flag_clear_explicit + atomic_flag_test_and_set + atomic_flag_test_and_set_explicit + atomic_init + atomic_is_lock_free + atomic_load + atomic_load_explicit + atomic_signal_fence + atomic_thread_fence + atomic_store + atomic_store_explicit + c16rtomb + c32rtomb + call_once + cnd_broadcast + cnd_signal + cnd_destroy + cnd_init + cnd_timedwait + cnd_wait + kill_dependency + mbrtoc16 + mbrtoc32 + mtx_destroy + mtx_init + mtx_lock + mtx_timedlock + mtx_trylock + mtx_unlock + quick_exit + thrd_create + thrd_current + thrd_detach + thrd_equal + thrd_exit + thrd_join + thrd_sleep + thrd_yield + tss_create + tss_delete + tss_get + tss_set +-- Originating in POSIX: + _Fork + accept4 + asprintf + be16toh + be32toh + be64toh + htobe16 + htobe32 + htobe64 + htole16 + htole32 + htole64 + le16toh + le32toh + le64toh + bindtextdomain + bind_textdomain_codeset + textdomain + dladdr + dup3 + ffsl, ffsll + getentropy + getlocalename_l + getresgid + getresuid + dgettext + dgettext_l + dcgettext + dcgettext_l + dngettext + dngettext_l + dcngettext + dcngettext_l + gettext + gettext_l + ngettext + ngettext_l + in6addr_any + in6addr_loopback + memmem + mkostemp + pipe2 + posix_close + posix_devctl + posix_getdents + posix_spawn_file_actions_addchdir + posix_spawn_file_actions_addfchdir + ppoll + pthread_cond_clockwait + pthread_mutex_clocklock + pthread_rwlock_clockrdlock + pthread_rwlock_clockwrlock + ptsname_r + qsort_r + reallocarray + secure_getenv + sem_clockwait + setresgid + setresuid + sig2str + str2sig + strlcat + strlcpy + tcgetwinsize + tcsetwinsize + timespec_get + vasprintf + wcslcat + wcslcpy + +Update documentation regarding modified functions +(see CHANGE HISTORY > Issue 8): + _Exit, exit + abort + abs + accept, accept4 + aio_fsync + aio_suspend + aio_write + alarm + asctime + asin, asinf, asinl + asinh, asinhf, asinhl + atan, atanf, atanl + atan2, atan2f, atan2l + atanh, atanhf, atanhl + atexit + atoi + basename + bind + cabs, cabsf, cabsl + cacos, cacosf, cacosl + cacosh, cacoshf, cacoshl + calloc + carg, cargf, cargl + casin, casinf, casinl + casinh, casinhf, casinhl + catan, catanf, catanl + catanh, catanhf, catanhl + catopen + ccos, ccosf, ccosl + ccosh, ccoshf, ccoshl + ceil, ceilf, ceill + cexp, cexpf, cexpl + chmod, fchmodat + clock + clock_getres + clog, clogf, clogl + close, posix_close + closedir + closelog, openlog, setlogmask, syslog + confstr + connect + copysign, copysignf, copysignl + cpow, cpowf, cpowl + creat + crypt + csin, csinf, csinl + csinh, csinhf, csinhl + csqrt, csqrtf, csqrtl + ctan, ctanf, ctanl + ctanh, ctanhf, ctanhl + ctime + dbm_clearerr, dbm_close, dbm_delete, dmb_error, dmb_fetch, dbm_firstkey, dbm_nextkey, dbm_open, dbm_store + dirfd + dirname + dlclose + dlerror + dlopen + dlsym + drand48, erand48, jrand48, lcong48, lrand48, mrand48, nrand48, seed48, srand48 + dup, dup2, dup3 + encrypt + endhostent, gethostent, sethostent + endnetent, getnetbyaddr, getnetbyname, getnetent, setnetent + endprotoent, getprotobyname, getprotobynumber, getprotoent, setprotoent + endservent, getservbyname, getservbyport, getservent, setservent + erf, erff, erfl + errno + execl, execle, execlp, execv, execve, execvp, fexecve + exit + expm1, expm1f, expm1l + fabs, fabsf, fabsl + fchmod + fchown + fclose + fcntl + fdatasync + fdopen + fdopendir, opendir + fflush + fgetc + fgets + fgetwc + fgetws + flockfile, ftrylockfile, funlockfile + floor, floorf, floorl + fmax, fmaxf, fmaxl + fmemopen + fmin, fminf, fminl + fmod, fmodf, fmodl + fnmatch + fopen + fork, _Fork + fpathconf, pathconf + asprintf, dprintf, fprintf, printf, snprintf, sprintf + fputc + fputwc + fread + free + freeaddrinfo, getaddrinfo + freelocale + freopen + frexp, frexpf, frexpl + fscanf, scanf, sscanf + fseek, fseeko + fsetpos + fstatat, lstat, stat + fsync + ftell, ftello + ftruncate + futimens, utimensat, utimes + fwprintf, swprintf, wprintf + fwrite + fwscanf, swscanf, wscanf + getdate + getdelim, getline + getegid + getenv, secure_getenv + geteuid + getgid + getgrgid, getgrgid_r + getgrnam, getgrnam_r + getgroups + getlogin, getlogin_r + getopt, optarg, opterr, optind, optopt + getpeername + getpgrp + getpwnam, getpwnam_r + getpwuid, getpwuid_r + getrlimit, setrlimit + getrusage + getsockname + getsubopt + getuid + glob, globfree + gmtime, gmtime_r + grantpt + htonl, htons, ntohl, ntohs + iconv + iconv_open + if_freenameindex + ilogb, ilogbf, ilogbl + imaxabs + inet_addr, inet_ntoa + inet_ntop, inet_pton + initstate, setstate, srandom + isgreater, isgreaterequal, isless, islessequal, islessgreater + iswblank, iswblank_l + iswctype, iswctype_l + j0, j1, jn + kill + labs, llabs + lgamma, lgammaf, lgammal, signgam + link, linkat + lio_listio + localeconv + localtime, localtime_r + lockf + log1p, log1pf, log1pl + logb, logbf, logbl + longjmp + lseek + malloc + mblen + mbrlen + mbrtowc + mbsnrtowcs, mbsrtowcs + mbtowc + memccpy + memchr + memcmp + memcpy + memmove + memset + mkdir, mkdirat + mkdtemp, mkostemp, mkstemp + mkfifo, mkfifoat + mknod, mknodat + mktime + mmap + modf, modff, modfl + mq_close + mq_notify + mq_open + mq_receive, mq_timedreceive + mq_send, mq_timedsend + msync + nan, nanf, nanl + newlocale + nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl + nftw + open, openat + open_memstream, open_wmemstream + pclose + pipe, pipe2 + poll, ppoll + popen + posix_fadvise + posix_fallocate + posix_memalign + posix_openpt + posix_spawn, posix_spawnp + posix_spawn_file_actions_addclose + posix_spawn_file_actions_adddup2 + posix_spawnattr_getflags, posix_spawnattr_setflags + posix_typed_mem_open + pow, powf, powl + pselect, select + pthread_atfork + pthread_cancel + pthread_cleanup_pop, pthread_cleanup_push + pthread_cond_broadcast, pthread_cond_signal + pthread_cond_clockwait, pthread_cond_timedwait, pthread_cond_wait + pthread_condattr_getclock, pthread_condattr_setclock + pthread_detach + pthread_equal + pthread_exit + pthread_join + pthread_key_create + pthread_kill + pthread_mutex_clocklock, pthread_mutex_timedlock + pthread_mutex_destroy, pthread_mutex_init, PTHREAD_MUTEX_INITIALIZER + pthread_mutex_getprioceiling, pthread_mutex_setprioceiling + pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock + pthread_mutexattr_destroy, pthread_mutexattr_init + pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol + pthread_mutexattr_gettype, pthread_mutexattr_settype + pthread_once, PTHREAD_ONCE_INIT + pthread_rwlock_clockrdlock, pthread_rwlock_timedrdlock + pthread_rwlock_clockwrlock, pthread_rwlock_timedwrlock + pthread_rwlock_rdlock, pthread_rwlock_tryrdlock + pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel + pthread_sigmask, sigprocmask + ptsname, ptsname_r + putenv + qsort, qsort_r + rand, srand + pread, read + readdir, readdir_r + realloc, reallocarray + realpath + recv + recvfrom + recvmsg + regcomp, regerror, regexec, regfree + remainder, remainderf, remainderl + remquo, remquof, remquol + rename, renameat + rewind + round, roundf, roundl + scalbln, scalblnf, scalblnl, scalbn, scalbnf, scalbnl + sem_clockwait, sem_timedwait + sem_close + sem_destroy + sem_init + sem_open + sem_post + semget + semop + send + sendmsg + sendto + setegid + seteuid + setgid + setkey + setlocale + setregid + setreuid + setsid + setsockopt + setuid + setvbuf + shm_open + shmat + shmctl + shutdown + sigaction + sigaltstack + siglongjmp + signal + sigsetjmp + sigsuspend + sigtimedwait, sigwaitinfo + sin, sinf, sinl + sinh, sinhf, sinhl + sleep + sockatmark + socket + socketpair + sqrt, sqrtf, sqrtl + stderr, stdin, stdout + strcasecmp, strcasecmp_l, strncasecmp, strncasecmp_l + strcat + strchr + strcmp + stpcpy, strcpy + strcspn + strdup, strndup + strerror, strerror_l, strerror_r + strfmon, strfmon_l + strftime, strftime_l + strlen, strnlen + strncat + strncmp + stpncpy, strncpy + strpbrk + strptime + strrchr + strsignal + strspn + strstr + strtod, strtof, strtold + strtok, strtok_r + strtol, strtoll + strtoul, strtoull + symlink, symlinkat + sysconf + system + tan, tanf, tanl + tanh, tanhf, tanhl + tcsetpgrp + tdelete, tfind, tsearch, twalk + tgamma, tgammaf, tgammal + time + timer_create + tmpfile + tmpnam + towctrans, towctrans_l + trunc, truncf, truncl + truncate + ttyname, ttyname_r + daylight, timezone, tzname, tzset + umask + ungetc + ungetwc + unlink, unlinkat + unlockpt + uselocale + vasprintf, vdprintf, vfprintf, vprintf, vsnprintf, vsprintf + wait, waitpid + waitid + wcrtomb + wcscat + wcschr + wcscmp + wcpcpy, wcscpy + wcscspn + wcslen, wcsnlen + wcsncat + wcsncmp + wcpncpy, wcsncpy + wcspbrk + wcsrchr + wcsnrtombs, wcsrtombs + wcsspn + wcsstr + wcstod, wcstof, wcstold + wcstok + wcstol, wcstoll + wcstoul, wcstoull + wcswidth + wctob + wcwidth + wmemchr + wmemcmp + wmemcpy + wmemmove + wmemset + wordexp, wordfree + pwrite, write + y0, y1, yn + + Update documentation regarding obsoleted functions. diff --git a/posix-2024-impl.TODO b/posix-2024-impl.TODO new file mode 100644 index 00000000..fb6f4f4a --- /dev/null +++ b/posix-2024-impl.TODO @@ -0,0 +1,663 @@ +Gnulib implementation tasks related to POSIX.1-2024 +=================================================== + +Status can be: +- empty for "not evaluated yet" +- NO_OP if the change has no effect on existing implementations +- NOT_IN_SCOPE if Gnulib cannot do anything about it +- WONT_IMPLEMENT if Gnulib most likely will never implement it +- WIP while is working on it +- DONE for done in Gnulib + +Implementation of new functions, classified according to the header file +------------------------------------------------------------------------ + + + CMPLX, CMPLXF, CMPLXL + + + posix_devctl + + + posix_getdents + + + dladdr + + + be16toh + be32toh + be64toh + htobe16 + htobe32 + htobe64 + htole16 + htole32 + htole64 + le16toh + le32toh + le64toh + + + + + bindtextdomain + bind_textdomain_codeset + textdomain + dgettext + dgettext_l + dcgettext + dcgettext_l + dngettext + dngettext_l + dcngettext + dcngettext_l + gettext + gettext_l + ngettext + ngettext_l + + + getlocalename_l + + + in6addr_any + in6addr_loopback + + + ppoll + + + pthread_cond_clockwait + pthread_mutex_clocklock + pthread_rwlock_clockrdlock + pthread_rwlock_clockwrlock + + + sig2str + str2sig + + + posix_spawn_file_actions_addchdir + posix_spawn_file_actions_addfchdir + + + atomic_compare_exchange_strong + atomic_compare_exchange_strong_explicit + atomic_compare_exchange_weak + atomic_compare_exchange_weak_explicit + atomic_exchange + atomic_exchange_explicit + atomic_fetch_add + atomic_fetch_add_explicit + atomic_fetch_and + atomic_fetch_and_explicit + atomic_fetch_or + atomic_fetch_or_explicit + atomic_fetch_sub + atomic_fetch_sub_explicit + atomic_fetch_xor + atomic_fetch_xor_explicit + atomic_flag_clear + atomic_flag_clear_explicit + atomic_flag_test_and_set + atomic_flag_test_and_set_explicit + atomic_init + atomic_is_lock_free + atomic_load + atomic_load_explicit + atomic_signal_fence + atomic_thread_fence + atomic_store + atomic_store_explicit + kill_dependency + + + asprintf + vasprintf + + + aligned_alloc + at_quick_exit + mkostemp + ptsname_r + qsort_r + quick_exit + + + memmem + strlcat + strlcpy + + + ffsl, ffsll + + + accept4 + + + tcgetwinsize + tcsetwinsize + + + call_once + cnd_broadcast + cnd_signal + cnd_destroy + cnd_init + cnd_timedwait + cnd_wait + mtx_destroy + mtx_init + mtx_lock + mtx_timedlock + mtx_trylock + mtx_unlock + thrd_create + thrd_current + thrd_detach + thrd_equal + thrd_exit + thrd_join + thrd_sleep + thrd_yield + tss_create + tss_delete + tss_get + tss_set + + + timespec_get + + + c16rtomb + c32rtomb + mbrtoc16 + mbrtoc32 + + + dup3 + getentropy + getresgid + getresuid + pipe2 + setresgid + setresuid + + + wcslcat + wcslcpy + +Implementation of modified functions, classified according to the header file +----------------------------------------------------------------------------- + + + aio_fsync + aio_suspend + aio_write + lio_listio + + + htonl, htons, ntohl, ntohs + inet_addr, inet_ntoa + inet_ntop, inet_pton + + + cabs, cabsf, cabsl + cacos, cacosf, cacosl + cacosh, cacoshf, cacoshl + carg, cargf, cargl + casin, casinf, casinl + casinh, casinhf, casinhl + catan, catanf, catanl + catanh, catanhf, catanhl + ccos, ccosf, ccosl + ccosh, ccoshf, ccoshl + cexp, cexpf, cexpl + clog, clogf, clogl + cpow, cpowf, cpowl + csin, csinf, csinl + csinh, csinhf, csinhl + csqrt, csqrtf, csqrtl + ctan, ctanf, ctanl + ctanh, ctanhf, ctanhl + + + closedir + dirfd + fdopendir, opendir + readdir, readdir_r + + + dlclose + dlerror + dlopen + dlsym + + + errno + + + fchmodat + creat + fcntl + open, openat + posix_fadvise + posix_fallocate + + + fnmatch + + + nftw + + + glob, globfree + + + getgrgid, getgrgid_r + getgrnam, getgrnam_r + + + iconv + iconv_open + + + imaxabs + + + basename + dirname + + + freelocale + localeconv + newlocale + setlocale + uselocale + + + asin, asinf, asinl + asinh, asinhf, asinhl + atan, atanf, atanl + atan2, atan2f, atan2l + atanh, atanhf, atanhl + ceil, ceilf, ceill + copysign, copysignf, copysignl + erf, erff, erfl + expm1, expm1f, expm1l + fabs, fabsf, fabsl + floor, floorf, floorl + fmax, fmaxf, fmaxl + fmin, fminf, fminl + fmod, fmodf, fmodl + frexp, frexpf, frexpl + ilogb, ilogbf, ilogbl + isgreater, isgreaterequal, isless, islessequal, islessgreater + j0, j1, jn + lgamma, lgammaf, lgammal, signgam + log1p, log1pf, log1pl + logb, logbf, logbl + modf, modff, modfl + nan, nanf, nanl + nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl + pow, powf, powl + remainder, remainderf, remainderl + remquo, remquof, remquol + round, roundf, roundl + scalbln, scalblnf, scalblnl, scalbn, scalbnf, scalbnl + sin, sinf, sinl + sinh, sinhf, sinhl + sqrt, sqrtf, sqrtl + tan, tanf, tanl + tanh, tanhf, tanhl + tgamma, tgammaf, tgammal + trunc, truncf, truncl + y0, y1, yn + + + strfmon, strfmon_l + + + mq_close + mq_notify + mq_open + mq_receive, mq_timedreceive + mq_send, mq_timedsend + + + dbm_clearerr, dbm_close, dbm_delete, dmb_error, dmb_fetch, dbm_firstkey, dbm_nextkey, dbm_open, dbm_store + + + if_freenameindex + + + endhostent, gethostent, sethostent + endnetent, getnetbyaddr, getnetbyname, getnetent, setnetent + endprotoent, getprotobyname, getprotobynumber, getprotoent, setprotoent + endservent, getservbyname, getservbyport, getservent, setservent + freeaddrinfo, getaddrinfo + + + catopen + + + poll + + + pthread_atfork + pthread_cancel + pthread_cleanup_pop, pthread_cleanup_push + pthread_cond_broadcast, pthread_cond_signal + pthread_cond_timedwait, pthread_cond_wait + pthread_condattr_getclock, pthread_condattr_setclock + pthread_detach + pthread_equal + pthread_exit + pthread_join + pthread_key_create + pthread_kill + pthread_mutex_timedlock + pthread_mutex_destroy, pthread_mutex_init, PTHREAD_MUTEX_INITIALIZER + pthread_mutex_getprioceiling, pthread_mutex_setprioceiling + pthread_mutex_lock, pthread_mutex_trylock, pthread_mutex_unlock + pthread_mutexattr_destroy, pthread_mutexattr_init + pthread_mutexattr_getprotocol, pthread_mutexattr_setprotocol + pthread_mutexattr_gettype, pthread_mutexattr_settype + pthread_once, PTHREAD_ONCE_INIT + pthread_rwlock_timedrdlock + pthread_rwlock_timedwrlock + pthread_rwlock_rdlock, pthread_rwlock_tryrdlock + pthread_setcancelstate, pthread_setcanceltype, pthread_testcancel + + + getpwnam, getpwnam_r + getpwuid, getpwuid_r + + + regcomp, regerror, regexec, regfree + + + tdelete, tfind, tsearch, twalk + + + sem_clockwait, sem_timedwait + sem_close + sem_destroy + sem_init + sem_open + sem_post + + + longjmp + siglongjmp + sigsetjmp + + + kill + pthread_sigmask, sigprocmask + sigaction + sigaltstack + signal + sigsuspend + sigtimedwait, sigwaitinfo + + + posix_spawn, posix_spawnp + posix_spawn_file_actions_addclose + posix_spawn_file_actions_adddup2 + posix_spawnattr_getflags, posix_spawnattr_setflags + + + fclose + fdopen + fflush + fgetc + fgets + fgetwc + fgetws + flockfile, ftrylockfile, funlockfile + fmemopen + fopen + dprintf, fprintf, printf, snprintf, sprintf + fputc + fputwc + fread + freopen + fscanf, scanf, sscanf + fseek, fseeko + fsetpos + ftell, ftello + fwprintf, swprintf, wprintf + fwrite + fwscanf, swscanf, wscanf + getdelim, getline + open_memstream, open_wmemstream + pclose + popen + rename, renameat + rewind + setvbuf + stderr, stdin, stdout + tmpfile + tmpnam + ungetc + vdprintf, vfprintf, vprintf, vsnprintf, vsprintf + + + _Exit, exit + abort + abs + atexit + atoi + calloc + drand48, erand48, jrand48, lcong48, lrand48, mrand48, nrand48, seed48, srand48 + exit + free + getenv, secure_getenv + getsubopt + grantpt + initstate, setstate, srandom + labs, llabs + malloc + mblen + mbtowc + mkdtemp, mkstemp + posix_memalign + posix_openpt + ptsname + putenv + qsort + rand, srand + realloc, reallocarray + realpath + setkey + strtod, strtof, strtold + strtol, strtoll + strtoul, strtoull + unlockpt + wctomb + + + memccpy + memchr + memcmp + memcpy + memmove + memset + strcat + strchr + strcmp + stpcpy, strcpy + strcspn + strdup, strndup + strerror, strerror_l, strerror_r + strlen, strnlen + strncat + strncmp + stpncpy, strncpy + strpbrk + strrchr + strsignal + strspn + strstr + strtok, strtok_r + system + + + strcasecmp, strcasecmp_l, strncasecmp, strncasecmp_l + + + mmap + msync + posix_typed_mem_open + shm_open + + + getrlimit, setrlimit + getrusage + + + pselect, select + + + semget + semop + + + shmat + shmctl + + + accept + bind + connect + getpeername + getsockname + recv + recvfrom + recvmsg + send + sendmsg + sendto + setsockopt + shutdown + sockatmark + socket + socketpair + + + chmod + fchmod + fstatat, lstat, stat + futimens, utimensat, utimes + mkdir, mkdirat + mkfifo, mkfifoat + mknod, mknodat + umask + + + wait, waitpid + waitid + + + closelog, openlog, setlogmask, syslog + + + asctime + clock + clock_getres + ctime + getdate + gmtime, gmtime_r + localtime, localtime_r + mktime + strftime, strftime_l + strptime + time + timer_create + daylight, timezone, tzname, tzset + + + alarm + close, posix_close + confstr + crypt + dup, dup2 + encrypt + execl, execle, execlp, execv, execve, execvp, fexecve + fchown + fdatasync + fork, _Fork + fpathconf, pathconf + fsync + ftruncate + getegid + geteuid + getgid + getgroups + getlogin, getlogin_r + getopt, optarg, opterr, optind, optopt + getpgrp + getuid + link, linkat + lockf + lseek + pipe + pread, read + setegid + seteuid + setgid + setregid + setreuid + setsid + setuid + sleep + symlink, symlinkat + sysconf + tcsetpgrp + truncate + ttyname, ttyname_r + unlink, unlinkat + pwrite, write + + + mbrlen + mbrtowc + mbsnrtowcs, mbsrtowcs + ungetwc + wcrtomb + wcscat + wcschr + wcscmp + wcpcpy, wcscpy + wcscspn + wcslen, wcsnlen + wcsncat + wcsncmp + wcpncpy, wcsncpy + wcspbrk + wcsrchr + wcsnrtombs, wcsrtombs + wcsspn + wcsstr + wcstod, wcstof, wcstold + wcstok + wcstol, wcstoll + wcstoul, wcstoull + wcswidth + wctob + wcwidth + wmemchr + wmemcmp + wmemcpy + wmemmove + wmemset + + + iswblank, iswblank_l + iswctype, iswctype_l + towctrans, towctrans_l + + + wordexp, wordfree -- 2.39.5