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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions