asterinas/book/src/kernel/linux-compatibility/syscall-flag-coverage/file-descriptor-and-io-control/README.md

2.9 KiB

File Descriptor and I/O Control

fcntl

Supported functionality in SCML:

{{#include fcntl.scml}}

Unsupported commands:

  • F_NOTIFY
  • F_OFD_SETLK, F_OFD_SETLKW and F_OFD_GETLK
  • F_GETOWN_EX and F_SETOWN_EX
  • F_GETSIG and F_SETSIG
  • F_SETLEASE and F_GETLEASE
  • F_SETPIPE_SZ and F_GETPIPE_SZ
  • F_GET_RW_HINT and F_SET_RW_HINT
  • F_GET_FILE_RW_HINT and F_SET_FILE_RW_HINT

For more information, see the man page.

pipe and pipe2

Supported functionality in SCML:

{{#include pipe_and_pipe2.scml}}

Silently-ignored flags:

  • O_DIRECT
  • O_NONBLOCK

For more information, see the man page.

eventfd and eventfd2

Supported functionality in SCML:

{{#include eventfd_and_eventfd2.scml}}

Silently-ignored flags:

  • EFD_NONBLOCK
  • EFD_SEMAPHORE

For more information, see the man page.

memfd_create

Supported functionality in SCML:

{{#include memfd_create.scml}}

Silently-ignored flags:

  • MFD_HUGETLB

Unsupported flags:

  • MFD_HUGE_64KB
  • MFD_HUGE_512KB
  • MFD_HUGE_1MB
  • MFD_HUGE_2MB
  • MFD_HUGE_8MB
  • MFD_HUGE_16MB
  • MFD_HUGE_32MB
  • MFD_HUGE_256MB
  • MFD_HUGE_512MB
  • MFD_HUGE_1GB
  • MFD_HUGE_2GB
  • MFD_HUGE_16GB

For more information, see the man page.

fadvise64

Supported functionality in SCML:

{{#include fadvise64.scml}}

Silently-ignored flags:

  • POSIX_FADV_NORMAL
  • POSIX_FADV_RANDOM
  • POSIX_FADV_SEQUENTIAL
  • POSIX_FADV_WILLNEED
  • POSIX_FADV_DONTNEED
  • POSIX_FADV_NOREUSE

For more information, see the man page.

epoll_ctl

Supported functionality in SCML:

{{#include epoll_ctl.scml}}

Unsupported flags in events:

  • EPOLLEXCLUSIVE
  • EPOLLWAKEUP

For more information, see the man page.

poll and ppoll

Supported functionality in SCML:

{{#include poll_and_ppoll.scml}}

Unsupported events:

  • POLLRDBAND
  • POLLWRNORM
  • POLLWRBAND

For more information, see the man page.

ioctl

Supported functionality in SCML:

{{#include ioctl.scml}}

For more information, see the man page.

ioprio_set and ioprio_get

Supported functionality in SCML:

{{#include ioprio_get_and_set.scml}}

Unsupported selectors:

  • IOPRIO_WHO_PGRP
  • IOPRIO_WHO_USER

For more information, see the man page.