What does errno 120 (EPROTONOSUPPORT) mean?

 
Could be also:
ConstantTypeOS
ERROR_CALL_NOT_IMPLEMENTEDWin32 errorWindows
EISNAMerrnoLinux
ENODATAerrnoWindows
PHASE0_EXCEPTIONBugCheck CodeWindows
Previous Next
EISNAM ENODATA

EPROTONOSUPPORT

The protocol implementation is the missing piece

EPROTONOSUPPORT identifies a protocol-support problem. Solaris says the protocol has not been configured into the system or no implementation exists. POSIX further ties the error from socket() to a nonzero protocol value that the address family or implementation does not support.

This is narrower than EAFNOSUPPORT, which rejects an address family, and different from EPROTOTYPE, where the protocol exists but cannot provide the requested socket semantics. That distinction helps diagnose hard-coded protocol numbers and incorrect domain/type/protocol triples.

Checks for protocol selection

  • Capture all three socket(domain, type, protocol) arguments; diagnosing only the protocol number loses the compatibility context.
  • If protocol is explicitly nonzero, confirm that the selected address family defines that protocol and that the implementation provides it.
  • Prefer protocol constants from platform headers over copied numeric values, especially in cross-platform code.

References


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