@c -*-texinfo-*-
@node Error Codes, Low Level, Operators, Top
@comment  node-name,  next,  previous,  up
@appendix Error Codes
@cindex Error codes
@example
	100	unbound variable in arithmetic expression
	101	unbound variable in relational expression
	102	unbound stream identifier
	103	unbound filemode

	200	non-integer in arithmetic expression
	201	invalid clause
	202	non-number in relational expression
	203	non-atom filename
	204	non-atom in operator declaration
	205	non-variable stream identifier
	206	invalid data for ram file
	207	non-integer argument in throw/1
	208	non-variable in 2nd argument
	209	non-variable argument
	210	invalid form of use
	211	unterminated list
	212	invalid list of ASCII codes
	213	non-integer argument
	214	attempt to assert/retract a static predicate
	215	attempt to assert/retract a system predicate
	216	invalid clause
	217	invalid goal
	218	non-number in arithmetic expression
	219	invalid arithmetic expression

	300	cannot open file
	301	invalid stream
	302	cannot close stream
	303	incorrect or unknown file type
	304	error occurred while reading object file
	305	error occurred while writing object file
	306	invalid ram file
	307	invalid port
	308	port has pending read
	309	port has pending write
	310	port is being read by another thread
	311	port is being written to by another thread
	312	port is owned by another thread

	400	file mode must be read, write or append
	401	operator priority must be in the range 0..1200
	402	operator type must be fx, fy, xf, yf, xfx, xfy, yfx or yfy
	403	predicate not defined
	404	undefined property
	405	undefined predicate
	408	system deadlock
	409	invalid return code from service function
	410	parlog thread exists already
	411	invalid thread ID
	412	cannot switch to parlog from this thread

	500	compiler error
	501	invalid instruction found during code generation
	502	multiply-defined label found during code generation
	503	term nested too deep
	504	out of stack space
	505	out of heap space
	506	invalid ICP instruction
	507	invalid tag type found
	508	too many variables in term
	509	term too large in property
	510	term too large for pipe

	600	division by zero in arithmetic expression
	601	cannot open any more file streams
	602	cannot open any more memory streams
	603	no space for RAM file
	604	code segment too large
	605	symbol space full during code generation
	606	out of space during code generation
	607	out of code space
	608	out of space in dictionary maintenance
	609	out of space for constants
	610	no space for new thread
	611	no space for property
	612	out of space in term reader
	613	out of system heap space
	614	illegal instruction

	700	Bad sequence of TCP instructions
	701	Socket closed
	702	Timeout (TCP)
	703	Invalid socket descriptor
	710	socket error (TCP)
	711	setsockopt error (TCP)
	712	bind error (TCP)
	713	listen error (TCP)
	714	accept error (TCP)
	715	connect error (TCP)
	716	ioctl error (TCP)
	717	send error (TCP)
	718	recv error (TCP)
	719	sendto error (TCP)
	720	recvfrom error (TCP)
	721	close error (TCP)
	722	getsockname error (TCP)
	723	gethostname error (TCP)
	724	gethostbyname error (TCP)
	725	getpeername error (TCP)
	726	gethostbyaddr error (TCP)
	727	getservbyname error (TCP)
	728	getservbyport error (TCP)
	729	getsockopt error (TCP)
	730	cannot open any more sockets
	731	data too long for buffer

	800	Maibox initialisation
	801	Timeout (mailbox)
	802	Incorrect mailbox identifier
	803	Mailbox permission denied
	804	Invalid operation on linked mailbox
	805	The mailbox is locked
	806	The mailbox is empty
	807	Attempt to commit or discard an unlocked mailbox
	808	The machine on which the mailbox is located is shut down
	809	An error has happened in the low level communications
	810	Attempt to bind a mailbox to a service which already exists
	811	The specified service does not exist in the internal database
	812	The specified mailbox does not exist in the internal database
	813	Unspecified Mailbox error
	814	Unification failure error (mailbox)
@end example
