| Previous | Next |
| ESOCKTNOSUPPORT | EPFNOSUPPORT |
EOPNOTSUPP
The operation conflicts with endpoint semantics
EOPNOTSUPP says the requested operation is not supported on this transport endpoint. Solaris gives a concrete example: attempting to accept a connection on a datagram endpoint. The socket may be valid and the protocol may exist; the operation itself does not fit the endpoint's communication model.
This separates the code from ESOCKTNOSUPPORT, which can fail while creating an unsupported socket type, and ENOPROTOOPT, which concerns an option or option level. The failing API and socket type are the central evidence.
Match the API to the endpoint type
- Record the socket type and protocol when the descriptor is created, then correlate them with the operation returning
EOPNOTSUPP. - Check wrappers that hide whether an endpoint is stream, datagram, or sequenced-packet.
- Do not retry the same unsupported operation indefinitely; change the API sequence or endpoint type according to the protocol contract.
References
- Oracle Solaris intro(2) errno catalog
- POSIX socket() domain, type, and protocol rules
- POSIX sendto() destination and connection semantics
Looking for a different code? Search another status or error code.