Hi folks,

Looked at our current posix.xml to get its timeframe ~2017, so compared POSIX functions for POSIX Issue 7 SUS V4 TC2 2016 to POSIX Issue 8 SUS V5 2024
(html/idx/functions.html - subscribe for access).

After cleaning up editorial only changes to get differences, split those into logs of SUS V5 functions to add and cut since TC2.

Searched those in posix.xml to get lists of those in context in the Cygwin/POSIX logs, which need moved into (...-new.log) or out of (...-cut.log) the POSIX section.

https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/doc/posix.xml

Used "new" log to produce a sorted list of the existing documented functions as "SUS V5 new", and used that to produce a log (...-add.log) of POSIX functions which need to be added to Cygwin, or documented as such if present.

Joining SUS V5 add entries with cygwin.din entries gives us ...-din.log with additions in the DLL and ...-non.log with those not in the DLL (but may be implemented in other libraries like gettext to add to posix.xml with Notes), or yet to be implemented.

https://cygwin.com/git/?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/cygwin.din

Differences, SUS V5 functions sorted, Cygwin POSIX Interfaces doc, and Cygwin DLL Functions logs attached.

So it looks like we need to decide how we should do a few things:

- Move or copy the "new" entries to the SUS/POSIX section, update the description to SUS V5 POSIX Issue 8 2024 and IEEE and ISO/IEC (almost) Standards, update the id "std-susv4" and any refs.
Should we copy and keep original entries under their original sections or not?
Add any "din" entries; and decide if Notes are needed for any new entries?

- Move "cut" entries out of the SUS/POSIX section to deprecated interfaces section and mark dropped from SUS V5 POSIX Issue 8 2024 (SUSv4)?

- Decide how to check if any "non" entries are available in other packages, add Notes about them, and references in entries to add?
If not available, add to Not Implemented section?

What have I got wrong or missed, how should we proceed, anything else?

Feel free to add your 2¢, 2¥, ₤.02, €.02: all comments welcome?

--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry
--- susv4tc2-2016/idx/functions.html            2008-12-02
+++ susv5-html/idx/functions.html               2025-01-03
Doc                                             Function
+CMPLX                                          CMPLX()
+CMPLXF                                         CMPLXF()
+CMPLXL                                         CMPLXL()
 _Exit                                          _Exit()
+_Exit                                          _exit()
-_exit                                          _exit()
+_Fork                                          _Fork()
-_longjmp                                       _longjmp()
-_setjmp                                        _setjmp()
-_tolower                                       _tolower()
-_toupper                                       _toupper()
+accept4                                        accept4()
+aligned_alloc                                  aligned_alloc()
+asprintf                                       asprintf()
+at_quick_exit                                  at_quick_exit()
+atomic_compare_exchange_strong                 atomic_compare_exchange_strong()
+atomic_compare_exchange_strong_explicit        
atomic_compare_exchange_strong_explicit()
+atomic_compare_exchange_weak                   atomic_compare_exchange_weak()
+atomic_compare_exchange_weak_explicit          
atomic_compare_exchange_weak_explicit()
+atomic_exchange                                atomic_exchange()
+atomic_exchange_explicit                       atomic_exchange_explicit()
+atomic_fetch_add                               atomic_fetch_add()
+atomic_fetch_add_explicit                      atomic_fetch_add_explicit()
+atomic_fetch_and                               atomic_fetch_and()
+atomic_fetch_and_explicit                      atomic_fetch_and_explicit()
+atomic_fetch_or                                atomic_fetch_or()
+atomic_fetch_or_explicit                       atomic_fetch_or_explicit()
+atomic_fetch_sub                               atomic_fetch_sub()
+atomic_fetch_sub_explicit                      atomic_fetch_sub_explicit()
+atomic_fetch_xor                               atomic_fetch_xor()
+atomic_fetch_xor_explicit                      atomic_fetch_xor_explicit()
+atomic_flag_clear                              atomic_flag_clear()
+atomic_flag_clear_explicit                     atomic_flag_clear_explicit()
+atomic_flag_test_and_set                       atomic_flag_test_and_set()
+atomic_flag_test_and_set_explicit              
atomic_flag_test_and_set_explicit()
+atomic_init                                    atomic_init()
+atomic_is_lock_free                            atomic_is_lock_free()
+atomic_load                                    atomic_load()
+atomic_load_explicit                           atomic_load_explicit()
+atomic_signal_fence                            atomic_signal_fence()
+atomic_store                                   atomic_store()
+atomic_store_explicit                          atomic_store_explicit()
+atomic_thread_fence                            atomic_thread_fence()
+be16toh                                        be16toh()
+be32toh                                        be32toh()
+be64toh                                        be64toh()
+bind_textdomain_codeset                        bind_textdomain_codeset()
+bindtextdomain                                 bindtextdomain()
+c16rtomb                                       c16rtomb()
+c32rtomb                                       c32rtomb()
+call_once                                      call_once()
+cnd_broadcast                                  cnd_broadcast()
+cnd_destroy                                    cnd_destroy()
+cnd_init                                       cnd_init()
+cnd_signal                                     cnd_signal()
+cnd_timedwait                                  cnd_timedwait()
+cnd_wait                                       cnd_wait()
+dcgettext                                      dcgettext()
+dcgettext_l                                    dcgettext_l()
+dcngettext                                     dcngettext()
+dcngettext_l                                   dcngettext_l()
+dgettext                                       dgettext()
+dgettext_l                                     dgettext_l()
+dladdr                                         dladdr()
+dngettext                                      dngettext()
+dngettext_l                                    dngettext_l()
-fattach                                        fattach()
-fdetach                                        fdetach()
+ffsl                                           ffsl()
+ffsll                                          ffsll()
-ftw                                            ftw()
+getentropy                                     getentropy()
-getitimer                                      getitimer()
+getlocalename_l                                getlocalename_l()
-getmsg                                         getmsg()
-getpmsg                                        getpmsg()
+getresgid                                      getresgid()
+getresuid                                      getresuid()
-gets                                           gets()
-gettimeofday                                   gettimeofday()
+gettext                                        gettext()
+gettext_l                                      gettext_l()
+htobe16                                        htobe16()
+htobe32                                        htobe32()
+htobe64                                        htobe64()
+htole16                                        htole16()
+htole32                                        htole32()
+htole64                                        htole64()
+in6addr_any                                    in6addr_any
+in6addr_loopback                               in6addr_loopback
-ioctl                                          ioctl()
-isascii                                        isascii()
-isastream                                      isastream()
+kill_dependency                                kill_dependency()
+le16toh                                        le16toh()
+le32toh                                        le32toh()
+le64toh                                        le64toh()
+mbrtoc16                                       mbrtoc16()
+mbrtoc32                                       mbrtoc32()
+memmem                                         memmem()
+mkostemp                                       mkostemp()
+mtx_destroy                                    mtx_destroy()
+mtx_init                                       mtx_init()
+mtx_lock                                       mtx_lock()
+mtx_timedlock                                  mtx_timedlock()
+mtx_trylock                                    mtx_trylock()
+mtx_unlock                                     mtx_unlock()
+ngettext                                       ngettext()
+ngettext_l                                     ngettext_l()
+pipe2                                          pipe2()
+posix_close                                    posix_close()
+posix_devctl                                   posix_devctl()
+posix_getdents                                 posix_getdents()
+posix_spawn_file_actions_addchdir              
posix_spawn_file_actions_addchdir()
+posix_spawn_file_actions_addfchdir             
posix_spawn_file_actions_addfchdir()
-posix_trace_attr_destroy                       posix_trace_attr_destroy()
-posix_trace_attr_getclockres                   posix_trace_attr_getclockres()
-posix_trace_attr_getcreatetime                 posix_trace_attr_getcreatetime()
-posix_trace_attr_getgenversion                 posix_trace_attr_getgenversion()
-posix_trace_attr_getinherited                  posix_trace_attr_getinherited()
-posix_trace_attr_getlogfullpolicy              
posix_trace_attr_getlogfullpolicy()
-posix_trace_attr_getlogsize                    posix_trace_attr_getlogsize()
-posix_trace_attr_getmaxdatasize                
posix_trace_attr_getmaxdatasize()
-posix_trace_attr_getmaxsystemeventsize         
posix_trace_attr_getmaxsystemeventsize()
-posix_trace_attr_getmaxusereventsize           
posix_trace_attr_getmaxusereventsize()
-posix_trace_attr_getname                       posix_trace_attr_getname()
-posix_trace_attr_getstreamfullpolicy           
posix_trace_attr_getstreamfullpolicy()
-posix_trace_attr_getstreamsize                 posix_trace_attr_getstreamsize()
-posix_trace_attr_init                          posix_trace_attr_init()
-posix_trace_attr_setinherited                  posix_trace_attr_setinherited()
-posix_trace_attr_setlogfullpolicy              
posix_trace_attr_setlogfullpolicy()
-posix_trace_attr_setlogsize                    posix_trace_attr_setlogsize()
-posix_trace_attr_setmaxdatasize                
posix_trace_attr_setmaxdatasize()
-posix_trace_attr_setname                       posix_trace_attr_setname()
-posix_trace_attr_setstreamfullpolicy           
posix_trace_attr_setstreamfullpolicy()
-posix_trace_attr_setstreamsize                 posix_trace_attr_setstreamsize()
-posix_trace_clear                              posix_trace_clear()
-posix_trace_close                              posix_trace_close()
-posix_trace_create                             posix_trace_create()
-posix_trace_create_withlog                     posix_trace_create_withlog()
-posix_trace_event                              posix_trace_event()
-posix_trace_eventid_equal                      posix_trace_eventid_equal()
-posix_trace_eventid_get_name                   posix_trace_eventid_get_name()
-posix_trace_eventid_open                       posix_trace_eventid_open()
-posix_trace_eventset_add                       posix_trace_eventset_add()
-posix_trace_eventset_del                       posix_trace_eventset_del()
-posix_trace_eventset_empty                     posix_trace_eventset_empty()
-posix_trace_eventset_fill                      posix_trace_eventset_fill()
-posix_trace_eventset_ismember                  posix_trace_eventset_ismember()
-posix_trace_eventtypelist_getnext_id           
posix_trace_eventtypelist_getnext_id()
-posix_trace_eventtypelist_rewind               
posix_trace_eventtypelist_rewind()
-posix_trace_flush                              posix_trace_flush()
-posix_trace_get_attr                           posix_trace_get_attr()
-posix_trace_get_filter                         posix_trace_get_filter()
-posix_trace_getnext_event                      posix_trace_getnext_event()
-posix_trace_get_status                         posix_trace_get_status()
-posix_trace_open                               posix_trace_open()
-posix_trace_rewind                             posix_trace_rewind()
-posix_trace_set_filter                         posix_trace_set_filter()
-posix_trace_shutdown                           posix_trace_shutdown()
-posix_trace_start                              posix_trace_start()
-posix_trace_stop                               posix_trace_stop()
-posix_trace_timedgetnext_event                 posix_trace_timedgetnext_event()
-posix_trace_trid_eventid_open                  posix_trace_trid_eventid_open()
-posix_trace_trygetnext_event                   posix_trace_trygetnext_event()
+ppoll                                          ppoll()
+pthread_cond_clockwait                         pthread_cond_clockwait()
-pthread_getconcurrency                         pthread_getconcurrency()
+pthread_mutex_clocklock                        pthread_mutex_clocklock()
+pthread_rwlock_clockrdlock                     pthread_rwlock_clockrdlock()
+pthread_rwlock_clockwrlock                     pthread_rwlock_clockwrlock()
-pthread_setconcurrency                         pthread_setconcurrency()
+ptsname_r                                      ptsname_r()
-putmsg                                         putmsg()
-putpmsg                                        putpmsg()
+qsort_r                                        qsort_r()
+quick_exit                                     quick_exit()
-rand_r                                         rand_r()
+reallocarray                                   reallocarray()
+secure_getenv                                  secure_getenv()
+sem_clockwait                                  sem_clockwait()
-setitimer                                      setitimer()
-setpgrp                                        setpgrp()
+setresgid                                      setresgid()
+setresuid                                      setresuid()
+shm_open                                       shm_open()
+shm_unlink                                     shm_unlink()
-shm_open                                       shm_open()
-shm_unlink                                     shm_unlink()
+sig2str                                        sig2str()
-sighold                                        sighold()
-sigignore                                      sigignore()
-siginterrupt                                   siginterrupt()
-sigpause                                       sigpause()
-sigrelse                                       sigrelse()
-sigset                                         sigset()
+str2sig                                        str2sig()
+strlcat                                        strlcat()
+strlcpy                                        strlcpy()
+tcgetwinsize                                   tcgetwinsize()
+tcsetwinsize                                   tcsetwinsize()
-tempnam                                        tempnam()
+textdomain                                     textdomain()
+thrd_create                                    thrd_create()
+thrd_current                                   thrd_current()
+thrd_detach                                    thrd_detach()
+thrd_equal                                     thrd_equal()
+thrd_exit                                      thrd_exit()
+thrd_join                                      thrd_join()
+thrd_sleep                                     thrd_sleep()
+thrd_yield                                     thrd_yield()
+timespec_get                                   timespec_get()
-toascii                                        toascii()
+tss_create                                     tss_create()
+tss_delete                                     tss_delete()
+tss_get                                        tss_get()
+tss_set                                        tss_set()
-ulimit                                         ulimit()
-utime                                          utime()
+vasprintf                                      vasprintf()
+wcslcat                                        wcslcat()
+wcslcpy                                        wcslcpy()

_Fork
accept4
aligned_alloc
asprintf
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_store
atomic_store_explicit
atomic_thread_fence
be16toh
be32toh
be64toh
bind_textdomain_codeset
bindtextdomain
c16rtomb
c32rtomb
call_once
CMPLX
CMPLXF
CMPLXL
cnd_broadcast
cnd_destroy
cnd_init
cnd_signal
cnd_timedwait
cnd_wait
dcgettext
dcgettext_l
dcngettext
dcngettext_l
dgettext
dgettext_l
dladdr
dngettext
dngettext_l
ffsl
ffsll
getentropy
getlocalename_l
getresgid
getresuid
gettext
gettext_l
htobe16
htobe32
htobe64
htole16
htole32
htole64
in6addr_any
in6addr_loopback
kill_dependency
le16toh
le32toh
le64toh
mbrtoc16
mbrtoc32
memmem
mkostemp
mtx_destroy
mtx_init
mtx_lock
mtx_timedlock
mtx_trylock
mtx_unlock
ngettext
ngettext_l
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
quick_exit
reallocarray
secure_getenv
sem_clockwait
setresgid
setresuid
shm_open
shm_unlink
sig2str
str2sig
strlcat
strlcpy
tcgetwinsize
tcsetwinsize
textdomain
thrd_create
thrd_current
thrd_detach
thrd_equal
thrd_exit
thrd_join
thrd_sleep
thrd_yield
timespec_get
tss_create
tss_delete
tss_get
tss_set
vasprintf
wcslcat
wcslcpy
_longjmp
_setjmp
_tolower
_toupper
fattach
fdetach
ftw
getitimer
getmsg
getpmsg
gets
gettimeofday
ioctl
isascii
isastream
posix_trace_attr_destroy
posix_trace_attr_getclockres
posix_trace_attr_getcreatetime
posix_trace_attr_getgenversion
posix_trace_attr_getinherited
posix_trace_attr_getlogfullpolicy
posix_trace_attr_getlogsize
posix_trace_attr_getmaxdatasize
posix_trace_attr_getmaxsystemeventsize
posix_trace_attr_getmaxusereventsize
posix_trace_attr_getname
posix_trace_attr_getstreamfullpolicy
posix_trace_attr_getstreamsize
posix_trace_attr_init
posix_trace_attr_setinherited
posix_trace_attr_setlogfullpolicy
posix_trace_attr_setlogsize
posix_trace_attr_setmaxdatasize
posix_trace_attr_setname
posix_trace_attr_setstreamfullpolicy
posix_trace_attr_setstreamsize
posix_trace_clear
posix_trace_close
posix_trace_create
posix_trace_create_withlog
posix_trace_event
posix_trace_eventid_equal
posix_trace_eventid_get_name
posix_trace_eventid_open
posix_trace_eventset_add
posix_trace_eventset_del
posix_trace_eventset_empty
posix_trace_eventset_fill
posix_trace_eventset_ismember
posix_trace_eventtypelist_getnext_id
posix_trace_eventtypelist_rewind
posix_trace_flush
posix_trace_get_attr
posix_trace_get_filter
posix_trace_get_status
posix_trace_getnext_event
posix_trace_open
posix_trace_rewind
posix_trace_set_filter
posix_trace_shutdown
posix_trace_start
posix_trace_stop
posix_trace_timedgetnext_event
posix_trace_trid_eventid_open
posix_trace_trygetnext_event
pthread_getconcurrency
pthread_setconcurrency
putmsg
putpmsg
rand_r
setitimer
setpgrp
shm_open
shm_unlink
sighold
sigignore
siginterrupt
sigpause
sigrelse
sigset
tempnam
toascii
ulimit
utime
accept4
aligned_alloc
asprintf
at_quick_exit
c16rtomb
c32rtomb
call_once
cnd_broadcast
cnd_destroy
cnd_init
cnd_signal
cnd_timedwait
cnd_wait
dladdr
ffsl
ffsll
mbrtoc16
mbrtoc32
memmem
mkostemp
mtx_destroy
mtx_init
mtx_lock
mtx_timedlock
mtx_trylock
mtx_unlock
pipe2
ppoll
pthread_cond_clockwait
pthread_mutex_clocklock
pthread_rwlock_clockrdlock
pthread_rwlock_clockwrlock
ptsname_r
qsort_r
qsort_r
quick_exit
reallocarray
secure_getenv
sem_clockwait
shm_open
shm_unlink
sig2str
str2sig
strlcat
strlcpy
thrd_create
thrd_current
thrd_detach
thrd_equal
thrd_exit
thrd_join
thrd_sleep
thrd_yield
tss_create
tss_delete
tss_get
tss_set
vasprintf
wcslcat
wcslcpy
_Fork
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_store
atomic_store_explicit
atomic_thread_fence
be16toh
be32toh
be64toh
bind_textdomain_codeset
bindtextdomain
CMPLX
CMPLXF
CMPLXL
dcgettext
dcgettext_l
dcngettext
dcngettext_l
dgettext
dgettext_l
dngettext
dngettext_l
getentropy
getlocalename_l
getresgid
getresuid
gettext
gettext_l
htobe16
htobe32
htobe64
htole16
htole32
htole64
in6addr_any
in6addr_loopback
kill_dependency
le16toh
le32toh
le64toh
ngettext
ngettext_l
posix_close
posix_devctl
posix_getdents
posix_spawn_file_actions_addchdir
posix_spawn_file_actions_addfchdir
setresgid
setresuid
tcgetwinsize
tcsetwinsize
textdomain
timespec_get
accept4 SIGFE
aligned_alloc SIGFE
asprintf SIGFE
at_quick_exit SIGFE
c16rtomb NOSIGFE
c32rtomb NOSIGFE
call_once SIGFE
cnd_broadcast SIGFE
cnd_destroy SIGFE
cnd_init SIGFE
cnd_signal SIGFE
cnd_timedwait SIGFE
cnd_wait SIGFE
dladdr SIGFE
ffsl NOSIGFE
ffsll NOSIGFE
getentropy SIGFE
getlocalename_l SIGFE
in6addr_any DATA
in6addr_loopback DATA
mbrtoc16 NOSIGFE
mbrtoc32 NOSIGFE
memmem NOSIGFE
mkostemp SIGFE
mtx_destroy SIGFE
mtx_init SIGFE
mtx_lock SIGFE
mtx_timedlock SIGFE
mtx_trylock SIGFE
mtx_unlock SIGFE
pipe2 SIGFE
posix_getdents SIGFE
ppoll SIGFE
pthread_cond_clockwait SIGFE
pthread_mutex_clocklock SIGFE
pthread_rwlock_clockrdlock SIGFE
pthread_rwlock_clockwrlock SIGFE
ptsname_r SIGFE
qsort_r NOSIGFE
quick_exit SIGFE
reallocarray SIGFE
secure_getenv NOSIGFE
sem_clockwait SIGFE
shm_open SIGFE
shm_unlink SIGFE
sig2str SIGFE
str2sig SIGFE
strlcat NOSIGFE
strlcpy NOSIGFE
thrd_create SIGFE
thrd_current SIGFE
thrd_detach SIGFE
thrd_equal SIGFE
thrd_exit SIGFE
thrd_join SIGFE
thrd_sleep SIGFE
thrd_yield SIGFE
timespec_get SIGFE
tss_create SIGFE
tss_delete SIGFE
tss_get SIGFE
tss_set SIGFE
vasprintf SIGFE
wcslcat NOSIGFE
wcslcpy NOSIGFE
_Fork
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_store
atomic_store_explicit
atomic_thread_fence
be16toh
be32toh
be64toh
bind_textdomain_codeset
bindtextdomain
CMPLX
CMPLXF
CMPLXL
dcgettext
dcgettext_l
dcngettext
dcngettext_l
dgettext
dgettext_l
dngettext
dngettext_l
getresgid
getresuid
gettext
gettext_l
htobe16
htobe32
htobe64
htole16
htole32
htole64
kill_dependency
le16toh
le32toh
le64toh
ngettext
ngettext_l
posix_close
posix_devctl
posix_spawn_file_actions_addchdir
posix_spawn_file_actions_addfchdir
setresgid
setresuid
tcgetwinsize
tcsetwinsize
textdomain

Reply via email to