class
	SOCKET

General
	cluster: abstract
	description: "Generic sockets"
	create: create_from_descriptor

Ancestors
	EXCEPTIONS
	IO_MEDIUM*
	SOCKET_RESOURCES

Queries
	address: SOCKET_ADDRESS
	address_in_use: BOOLEAN
	address_not_readable: BOOLEAN
	already_bound: BOOLEAN
	bad_socket_handle: BOOLEAN
	bytes_read: INTEGER_32
	c_msgdontroute: INTEGER_32
	c_oobmsg: INTEGER_32
	c_peekmsg: INTEGER_32
	connect_in_progress: BOOLEAN
	connection_refused: BOOLEAN
	debug_enabled: BOOLEAN
	descriptor: INTEGER_32
	descriptor_available: BOOLEAN
	dtable_full: BOOLEAN
	error: STRING_8
	error_number: INTEGER_32
	exists: BOOLEAN
	expired_socket: BOOLEAN
	extendible: BOOLEAN
	family: INTEGER_32
	group_id: INTEGER_32
	invalid_address: BOOLEAN
	invalid_socket_handle: BOOLEAN
	is_blocking: BOOLEAN
	is_closed: BOOLEAN
	is_executable: BOOLEAN
	is_group_id: BOOLEAN
	is_open_read: BOOLEAN
	is_open_write: BOOLEAN
	is_plain_text: BOOLEAN
	is_process_id: BOOLEAN
	is_readable: BOOLEAN
	is_socket_stream: BOOLEAN
	is_valid_peer_address (addr: SOCKET_ADDRESS): BOOLEAN
	is_writable: BOOLEAN
	last_boolean: BOOLEAN
	last_character: CHARACTER_8
	last_double: REAL_64
	last_integer: INTEGER_32
	last_integer_16: INTEGER_16
	last_integer_32: INTEGER_32
	last_integer_64: INTEGER_64
	last_integer_8: INTEGER_8
	last_natural: NATURAL_32
	last_natural_16: NATURAL_16
	last_natural_32: NATURAL_32
	last_natural_64: NATURAL_64
	last_natural_8: NATURAL_8
	last_real: REAL_32
	last_string: STRING_8
	lastchar: CHARACTER_8
	lastdouble: REAL_64
	lastint: INTEGER_32
	lastreal: REAL_32
	laststring: STRING_8
	name: STRING_8
	network: BOOLEAN
	no_buffers: BOOLEAN
	no_permission: BOOLEAN
	not_connected: BOOLEAN
	peer_address: [like address] SOCKET_ADDRESS
	process_id: INTEGER_32
	protected_address: BOOLEAN
	protocol: INTEGER_32
	protocol_not_supported: BOOLEAN
	read (size: INTEGER_32): PACKET
	readable: BOOLEAN
	receive (size, flags: INTEGER_32): PACKET
	receive_buf_size: INTEGER_32
	retrieved: ANY
	route_enabled: BOOLEAN
	send_buf_size: INTEGER_32
	socket_family_not_supported: BOOLEAN
	socket_in_use: BOOLEAN
	socket_ok: BOOLEAN
	socket_would_block: BOOLEAN
	support_storable: BOOLEAN
	type: INTEGER_32
	zero_option: BOOLEAN

Commands
	basic_store (object: ANY)
	bind
	cleanup
	close
	close_socket
	connect
	create_from_descriptor (fd: INTEGER_32)
	disable_debug
	dispose
	do_not_route
	enable_debug
	general_store (object: ANY)
	independent_store (object: ANY)
	make_socket
	new_line
	put_boolean (b: BOOLEAN)
	put_character (c: CHARACTER_8)
	put_double (d: REAL_64)
	put_integer (i: INTEGER_32)
	put_integer_16 (i: INTEGER_16)
	put_integer_32 (i: INTEGER_32)
	put_integer_64 (i: INTEGER_64)
	put_integer_8 (i: INTEGER_8)
	put_managed_pointer (p: MANAGED_POINTER; start_pos, nb_bytes: INTEGER_32)
	put_natural (i: NATURAL_32)
	put_natural_16 (i: NATURAL_16)
	put_natural_32 (i: NATURAL_32)
	put_natural_64 (i: NATURAL_64)
	put_natural_8 (i: NATURAL_8)
	put_new_line
	put_real (r: REAL_32)
	put_string (s: STRING_8)
	putbool (b: BOOLEAN)
	putchar (c: CHARACTER_8)
	putdouble (d: REAL_64)
	putint (i: INTEGER_32)
	putreal (r: REAL_32)
	putstring (s: STRING_8)
	read_boolean
	read_character
	read_double
	read_integer
	read_integer_16
	read_integer_32
	read_integer_64
	read_integer_8
	read_line
	read_natural
	read_natural_16
	read_natural_32
	read_natural_64
	read_natural_8
	read_real
	read_stream (nb_char: INTEGER_32)
	read_to_managed_pointer (p: MANAGED_POINTER; start_pos, nb_bytes: INTEGER_32)
	readbool
	readchar
	readdouble
	readint
	readline
	readreal
	readstream (nb_char: INTEGER_32)
	route
	send (a_packet: PACKET; flags: INTEGER_32)
	set_address (addr: [like address] SOCKET_ADDRESS)
	set_blocking
	set_non_blocking
	set_owner (own: INTEGER_32)
	set_peer_address (addr: [like address] SOCKET_ADDRESS)
	set_receive_buf_size (s: INTEGER_32)
	set_send_buf_size (s: INTEGER_32)
	write (a_packet: PACKET)