| 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
- Oracle Solaris intro(2) errno catalog
- POSIX socket() domain, type, and protocol rules
- POSIX Issue 8 errno.h
Looking for a different code? Search another status or error code.