Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of missing POSIX functions #86

Open
isage opened this issue May 27, 2022 · 0 comments
Open

List of missing POSIX functions #86

isage opened this issue May 27, 2022 · 0 comments

Comments

@isage
Copy link
Contributor

isage commented May 27, 2022

Documentation

  • openlog - store log flags, set bool value to un-noop syslog
  • setlogmask - store log mask
  • syslog - implement with printf
  • closelog - since syslog is printf, just set bool value to noop syslog

  • aio_cancel
  • aio_error
  • aio_fsync
  • aio_read
  • aio_return
  • aio_suspend
  • aio_write
  • lio_listio

  • alarm

  • catclose -- implement via libintl, like linux?
  • catgets
  • catopen

  • cfgetispeed - requires termios, ENOTSUP
  • cfgetospeed
  • cfsetispeed
  • cfsetospeed

  • clock_getcpuclockid - no idea. optional
  • clock_nanosleep - implement using either delay or scekernelCreateTimer

  • confstr - like sysconf
  • ctermid - return tty0: ?

  • daylight - variable, not func.


  • dup2 - see dup, and docs

  • endhostent
  • endnetent
  • endprotoent
  • endpwent
  • endservent

  • execle - sceAppmgrLoadExec. but we can't keep alarm(), etc.
  • execl
  • execlp
  • execvp
  • fexecve

  • faccessat - add custom cwd support to __realpath. rename and implement at-support in current non-at funcs, then proxy them to at-variant with AT_FDCWD for fd
  • fchmodat
  • fstatat
  • linkat
  • mkdirat
  • openat
  • readlinkat
  • renameat
  • unlinkat
  • utimensat

  • fattach - stub. we have no stream devices
  • fdetach

  • flockfile - implement with Lw mutexes? newlib seems to provide locking internally
  • ftrylockfile
  • funlockfile

  • fchown

  • fmtmsg

  • fnmatch - copy/port from posix
  • globfree
  • glob
  • ftw
  • nftw

  • ftok

  • getdate_err
  • getdate - copy from posix

  • getgrgid_r - stub
  • getgrnam_r - stub

  • gethostent
  • gethostid
  • gethostname

  • getitimer

  • getlogin
  • getlogin_r

  • getmsg

  • getnameinfo
  • getnetbyaddr
  • getnetbyname
  • getnetent

  • getpgrp
  • getpmsg
  • getppid
  • getprotobyname
  • getprotobynumber
  • getprotoent
  • getpwent
  • getpwnam
  • getpwnam_r
  • getpwuid
  • getpwuid_r
  • getservbyport
  • getservent

  • getutxent - no user account db. ENOTSUP
  • getutxid
  • getutxline
  • endutxent
  • pututxline
  • setutxent

  • grantpt - ???

  • if_freenameindex
  • if_indextoname
  • if_nameindex
  • if_nametoindex

  • initstate - inits random state. somehow it's missing from newlib?
  • setstate - same

  • insque - copy from posix?
  • remque

  • ioctl - stub?
  • isastream - stub, no streams

  • killpg - stub

  • lchown - alias to chown

  • lfind - copy from posix
  • lsearch

  • lockf

  • mkfifoat - via pipe?
  • mkfifo
  • mknodat - to fifo, otherwise EINVAL
  • mknod

  • mlockall - mmap impl
  • mlock
  • mmap
  • mprotect
  • msync
  • munlockall
  • munlock
  • munmap

  • mq_close - message queue. via messegepipe?
  • mq_getattr
  • mq_notify
  • mq_open
  • mq_receive
  • mq_send
  • mq_setattr
  • mq_timedreceive
  • mq_timedsend
  • mq_unlink

  • msgctl - ipc. ENOSUP?
  • msgget
  • msgrcv
  • msgsnd

  • nice - ENOSUP or always success

  • optarg - copy from posix, with getopt
  • opterr
  • optind
  • optopt

  • pause - either wait for event, or ENOTSUP

  • pclose - ENOTSUP
  • popen - ENOTSUP

  • pselect - rename select to pselect, implement signal catching, proxy select to it

  • psiginfo

  • ptsname - ENOTSUP?

  • putmsg - no streams support, ENOTSUP
  • putpmsg - no streams support, ENOTSUP


  • regcomp - regex. copy from posix?
  • regerror
  • regexec
  • regfree

  • sethostent

  • setitimer

  • setkey - crypt/encrypt, XSI_VISIBLE

  • setnetent
  • setprotoent
  • setpwent
  • setservent

  • shmat - shared mem. ENOTSUP
  • shmctl
  • shmdt
  • shmget
  • shm_open
  • shm_unlink

  • sigaction - implement signals via events?
  • sigaddset
  • sigaltstack
  • sigdelset
  • sigemptyset
  • sigfillset
  • sighold
  • sigignore
  • siginterrupt
  • sigismember
  • siglongjmp
  • sigpause
  • sigpending
  • sigprocmask
  • sigqueue
  • sigrelse
  • sigset
  • sigsetjmp
  • sigsuspend
  • sigtimedwait
  • sigwait
  • sigwaitinfo

  • sockatmark
  • socketpair

  • symlinkat - ENOTSUP
  • symlink

  • tcdrain - termios. ENOTSUP
  • tcflow
  • tcflush
  • tcgetattr
  • tcgetpgrp
  • tcgetsid
  • tcsendbreak
  • tcsetattr
  • tcsetpgrp

  • timezone

  • ttyname - tty0:?
  • ttyname_r

  • tzname

  • ulimit - to setrlimit

  • umask

  • unlockpt


  • waitid - ENOTSUP
  • waitpid - ENOTSUP

  • wordexp
  • wordfree

Most of those are probably a no-go completely

  • posix_fadvise
  • posix_fallocate

  • posix_madvise
  • posix_memalign
  • posix_mem_offset

  • posix_openpt

  • posix_spawnattr_destroy
  • posix_spawnattr_getflags
  • posix_spawnattr_getpgroup
  • posix_spawnattr_getschedparam
  • posix_spawnattr_getschedpolicy
  • posix_spawnattr_getsigdefault
  • posix_spawnattr_getsigmask
  • posix_spawnattr_init
  • posix_spawnattr_setflags
  • posix_spawnattr_setpgroup
  • posix_spawnattr_setschedparam
  • posix_spawnattr_setschedpolicy
  • posix_spawnattr_setsigdefault
  • posix_spawnattr_setsigmask

  • posix_spawn_file_actions_addclose
  • posix_spawn_file_actions_adddup2
  • posix_spawn_file_actions_addopen
  • posix_spawn_file_actions_destroy
  • posix_spawn_file_actions_init
  • posix_spawn
  • posix_spawnp

  • 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_getnext_event
  • posix_trace_get_status
  • 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

  • posix_typed_mem_get_info
  • posix_typed_mem_open
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant