Skip to content

Implement mman.h definitions

Original Issue:

Implement the sys/mman.h definitions.

  • options

    • PROT_READ
    • PROT_WRITE
    • PROT_EXEC
    • PROT_NONE
  • flags

    • MAP_SHARED
    • MAP_PRIVATE
    • MAP_FAILED (implemented in bits/sys/mman.h)
  • mlock and posix_madvise constants

  • more

Updated:

Latest spec: https://pubs.opengroup.org/onlinepubs/9799919799/basedefs/sys_mman.h.html

Declares the following functions:

  • mlock (Redox never swaps)
  • mlockall (Redox never swaps)
  • mmap (syscall fmap)
  • mprotect
  • msync
  • munlock (Redox never swaps)
  • munlockall (Redox never swaps)
  • munmap (syscall funmap)
  • posix_madvise
  • posix_mem_offset
  • posix_typed_mem_get_info
  • posix_typed_mem_open
  • shm_open (fcntl::open)
  • shm_unlink (unistd::unlink)

Constants for protection options:

  • PROT_EXEC
  • PROT_NONE
  • PROT_READ
  • PROT_WRITE

Constants for flag options:

  • MAP_ANON & MAP_ANONYMOUS
  • MAP_FIXED
  • MAP_PRIVATE
  • MAP_SHARED
  • MAP_FAILED

Constants for msync:

  • MS_ASYNC
  • MS_INVALIDATE
  • MS_SYNC

Constants for mlockall:

  • MCL_CURRENT
  • MCL_FUTURE

Constants for posix_madvise:

  • POSIX_MADV_DONTNEED change from POSIX_MADV_WONTNEED?
  • POSIX_MADV_NORMAL
  • POSIX_MADV_RANDOM
  • POSIX_MADV_SEQUENTIAL
  • POSIX_MADV_WILLNEED

Constants for posix_typed_mem_open:

  • POSIX_TYPED_MEM_ALLOCATE
  • POSIX_TYPED_MEM_ALLOCATE_CONTIG
  • POSIX_TYPED_MEM_MAP_ALLOCATABLE

Struct:

  • posix_typed_mem_info
Edited by Mathew John Roberts