What does errno 38 (ENOSYS) mean?

 
Could be also:
ConstantTypeOS
ERROR_HANDLE_EOFWin32 errorWindows
KERN_LOCK_SET_DESTROYEDKern returnMac
ippStsSymKernelExpectedIntel Ipp StatusAny
ENOTSOCKerrnoMac
EL2NSYNCerrnoSolaris
ENAMETOOLONGerrnoWindows
CDFS_FILE_SYSTEMBugCheck CodeWindows
Previous Next
ENOLCK ENOTEMPTY

ENOSYS

ENOSYS is not just a high-level “feature missing” result. The Linux UAPI header comments describe it as the value returned by architecture syscall entry code when a user program attempts to call a syscall number that does not exist. The same name can also be exposed by compatibility layers when a requested kernel facility is unavailable.

For a real syscall failure, preserve the syscall number, architecture, libc wrapper, kernel version, container/seccomp environment, and whether the process is running under an emulator. A retry loop will not make an absent syscall appear. The useful fix is normally to choose the supported syscall/API path for that kernel and ABI, or to detect the feature at runtime before using it.

What to distinguish

  • ENOSYS: the syscall/facility is not implemented for the current ABI or environment.
  • EINVAL: the syscall exists, but the particular arguments violate its contract.
  • ENOTSUP or EOPNOTSUPP: an operation exists but is unsupported for this object or socket.

Linux errno(3) · Linux UAPI errno definitions · Linux syscall(2)


Looking for a different code? Search another status or error code.