Skip to content

Missing F_* constants in fcntl module on macOS #113092

Open
@ronaldoussoren

Description

@ronaldoussoren

Feature or enhancement

Proposal:

There's a fairly large number of F_* macros that are present in sys/fcntl.h on macOS, but are not exposed in fcntlmodule.c:

  • F_SETLKWTIMEOUT
  • F_FLUSH_DATA
  • F_CHKCLEAN
  • F_PREALLOCATE
  • F_SETSIZE (No-op)
  • F_RDADVISE
  • F_RDAHEAD
  • F_LOG2PHYS
  • F_PATHPKG_CHECK (found no public use other than XNU kernel, can't get test to work)
  • F_FREEZE_FS
  • F_THAW_FS
  • F_GLOBAL_NOCACHE
  • F_ADDSIGS
  • F_ADDFILESIGS
  • F_NODIRECT
  • F_GETPROTECTIONCLASS
  • F_SETPROTECTIONCLASS
  • F_LOG2PHYS_EXT
  • F_GETLKPID
  • F_SETBACKINGSTORE
  • F_GETPATH_MTMINFO
  • F_GETCODEDIR
  • F_SETNOSIGPIPE
  • F_GETNOSIGPIPE
  • F_TRANSCODEKEY
  • F_SINGLE_WRITER
  • F_GETPROTECTIONLEVEL
  • F_FINDSIGS
  • F_ADDFILESIGS_FOR_DYLD_SIM
  • F_BARRIERFSYNC
  • F_OFD_SETLKWTIMEOUT
  • F_ADDFILESIGS_RETURN
  • F_CHECK_LV
  • F_PUNCHHOLE
  • F_TRIM_ACTIVE_FILE
  • F_SPECULATIVE_READ
  • F_GETPATH_NOFIRMLINK
  • F_ADDFILESIGS_INFO
  • F_ADDFILESUPPL
  • F_GETSIGSINFO
  • F_TRANSFEREXTENTS
  • F_ATTRIBUTION_TAG
  • F_ALLOCATECONTIG
  • F_ALLOCATEALL
  • F_ALLOCATEPERSIST
  • F_PEOFPOSMODE
  • F_VOLPOSMODE
  • F_CREATE_TAG
  • F_DELETE_TAG
  • F_QUERY_TAG

Fixing this issue requires more than just adding definitions for the macros above, but also needs new tests to check that these settings are actually usable.

Has this already been discussed elsewhere?

This is a minor feature, which does not need previous discussion elsewhere

Links to previous discussion of this feature:

No response

Metadata

Metadata

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions