|  | 
| Socket is a variable |  | instantiation_error | 
|  | 
| Socket is neither a variable nor an integer |  | type_error(integer, Socket) | 
|  | 
| Address is a variable |  | instantiation_error | 
|  | 
| Address is neither a variable nor a valid address |  | domain_error(socket_address, Address) | 
|  | 
| Address = 'AF_UNIX'(E) and E is a
variable |  | instantiation_error | 
|  | 
| Address = 'AF_UNIX'(E) or 'AF_INET'(E,
_) and E is neither a variable nor an atom |  | type_error(atom, E) | 
|  | 
| Address = 'AF_UNIX'(E) and E is an atom
but not a valid pathname |  | domain_error(os_path, E) | 
|  | 
| Address = 'AF_INET'(_, E) and E is
neither a variable nor an integer |  | type_error(integer, E) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Socket is a variable |  | instantiation_error | 
|  | 
| Socket is neither a variable nor an integer |  | type_error(integer, Socket) | 
|  | 
| Address is a variable |  | instantiation_error | 
|  | 
| Address is neither a variable nor a valid address |  | domain_error(socket_address, Address) | 
|  | 
| Address = 'AF_UNIX'(E) or 'AF_INET'(E,
_) or Address = 'AF_INET'(_, E) and E is a
variable |  | instantiation_error | 
|  | 
| Address = 'AF_UNIX'(E) or 'AF_INET'(E,
_) and E is neither a variable nor an atom |  | type_error(atom, E) | 
|  | 
| Address = 'AF_UNIX'(E) and E is an atom
but not a valid pathname |  | domain_error(os_path, E) | 
|  | 
| Address = 'AF_INET'(_, E) and E is
neither a variable nor an integer |  | type_error(integer, E) | 
|  | 
| StreamIn is not a variable |  | type_error(variable, StreamIn) | 
|  | 
| StreamOut is not a variable |  | type_error(variable, StreamOut) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  | 
|  | 
| Socket is a variable |  | instantiation_error | 
|  | 
| Socket is neither a variable nor an integer |  | type_error(integer, Socket) | 
|  | 
| Client is not a variable |  | type_error(variable, Client) | 
|  | 
| StreamIn is not a variable |  | type_error(variable, StreamIn) | 
|  | 
| StreamOut is not a variable |  | type_error(variable, StreamOut) | 
|  | 
| an operating system error occurs and the value of the
os_error Prolog flag is error
(section 6.22.1) |  | system_error(atom explaining the error) | 
|  |