| ENOMEM | Out of memory. |
| ECONNREFUSED |
| | connect(2) called with a socket object that isnt listening. This can happen when the remote socket does not exist or the filename is not a socket. |
| EINVAL | Invalid argument passed. A common cause is the missing setting of AF_UNIX in the sun_type field of passed addresses or the socket being in an invalid state for the applied operation. |
| EOPNOTSUPP |
| | Stream operation called on non-stream oriented socket or tried to use the out-of-band data option. |
| EPROTONOSUPPORT |
| | Passed protocol is not PF_UNIX. |
| ESOCKTNOSUPPORT |
| | Unknown socket type. |
| EPROTOTYPE |
| | Remote socket does not match the local socket type (SOCK_DGRAM vs. SOCK_STREAM) |
| EADDRINUSE |
| | Selected local address is already taken or filesystem socket object already exists. |
| EISCONN |
| | connect(2) called on an already connected socket or a target address was specified on a connected socket. |
| ENOTCONN |
| | Socket operation needs a target address, but the socket is not connected. |
| ECONNRESET |
| | Remote socket was unexpectedly closed. |
| EPIPE | Remote socket was closed on a stream socket. If enabled, a SIGPIPE is sent as well. This can be avoided by passing the MSG_NOSIGNAL flag to sendmsg(2) or recvmsg(2). |
| EFAULT | User memory address was not valid. |
| EPERM | The sender passed invalid credentials in the "struct ucred". |
|
Other errors can be generated by the generic socket layer or by the filesystem while generating a filesystem socket object. See the appropriate manual pages for more information.