Skip to content

List of missing POSIX functions #86

@isage

Description

@isage

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions