CON_STREAM is a command used to connect a server side stream object to a given IO resource. In contrast to other such commands it is used to connect the stream to a network object (listen socket) on the client side. == Data Structure == === Version 0 === ||= Offset =||= Size/Type =||= Meaning =|| ||0 ||uint8 ||Version (Always zero) || ||1 ||uint8 ||Socket Type || ||2 ||uint16 ||Numerical address part (e.g. object or prot number) || ||4 ||string ||textual address part (e.g. node number or ip address) || === Version 1 === '''This is a DRAFT'''. ||= Offset =||= Size/Type =||= Meaning =|| ||0 ||uint8 ||Version (Always one) || ||1 ||uint8 ||Socket Type || ||2 ||uint16 ||Flags || ||4 ||uint16 ||Transport Protocol ID || ||6 ||uint16 ||Length of Client Setup || ||8 ||uint16 ||Length of Socket type specific address || ||10 ||uint16 ||Length of Transport Protocol specific setup || ||12 ||string ||Client setup || ||... ||string ||Address (Socket type specific) || ||... ||string ||Transport Protocol setup || ==== Flags ==== ||= Bit =||= Meaning =|| ||0-15 ||Reserved. || ==== Client Setup ==== If Client setup data is given the size MUST be 6 and the data MUST have the following format: ||= Offset =||= Size/Type =||= Meaning =|| ||0 ||uint16 ||Client setup flags || ||2 ||uint16 ||Client protocol || ||4 ||uint16 ||Client byte order || ==== Socket Address ==== ||= Socket Type =||= Address Length =||= Address Content =||= Comment =|| ||UNIX ||var. ||Subtype, Path of Socket || || ||FILE ||var. ||Filename. Must start with / ||This type may not be supported by the server for security reasons. || ||DECNET ||var ||Node address, object number, object name || || ||TCP4, UDP4 ||6 ||IPv4 address and Port || || ||TCP6, UDP6 ||18 ||IPv6 address and Port || || ||NONE, FORK, GENSTR ||N/A ||N/A ||Those types must not be used to open a socket. || ||IPXSPX, IPX, LAT_SERVICE, LAT_REVERSE_PORT ||N/A ||N/A ||Not yet specified. ||