SESSION COMMANDS ---------------- A session is a connection between two names on the network (can both be on the same machine). CALL ---- ENTRY: command 10h/90h call_name remote name for session name local name for session receive_timeout time-out for subsequent commands send_timeout (in 1/2s increments, 0=no time-out) post_address network_number EXIT: return_code 00h=success, 05h=timed out, 11h=local session table full, 14h=cannot find name/no answer, 15h=name invalid, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number local_session used in subsequent commands (0-254) LISTEN ----- ENTRY: command 11h/91h call_name remote name for session (* = any remote name) name local name for session receive_timeout time-out for subsequent commands send_timeout (in 1/2s increments, 0=no time-out) post_address network_number EXIT: return_code 00h=success, 0Bh=cancelled, 11h=local session table full, 15h=name not found/invalid, 17h=name deleted, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number local_session used in subsequent commands (0-254) call_name HANGUP ------ ENTRY: command 12h/92h local_session session to close post_address network_number EXIT: return_code 00h=success, 05h=timed out, 08h=illegal local session number, 0Ah=session closed, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number SEND ---- ENTRY: command 14h/94h local_session session on which to send buffer address of message to send length length of message post_address network_number EXIT: return_code 00h=success, 05h=timed out, 08h=illegal local session number, 0Ah=session closed, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number CHAIN SEND ---------- ENTRY: command 17h/97h local_session session on which to send buffer address of message to send length length of message call_name specified length (first 2 bytes) / address (next 4 bytes) of second message post_address network_number EXIT: return_code 00h=success, 05h=timed out, 08h=illegal local session number, 0Ah=session closed, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number (unimportant) RECEIVE ------- ENTRY: command 15h/95h local_session session on which to receive buffer address of receive buffer length length of receive buffer post_address network_number EXIT: return_code 00h=success, 05h=timed out, 06h=message incomplete, 08h=illegal local session number, 0Ah=session closed, 0Bh=cancelled, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number length RECEIVE ANY ----------- ENTRY: command 16h/96h number name on which to receive (FFh = any) buffer address of receive buffer length length of receive buffer post_address network_number EXIT: return_code 00h=success, 06h=message incomplete, 0Ah=session closed, 0Bh=cancelled, 13h=illegal name number, 17h=name deleted, 18h=session ended abnormally, 22h=too many commands, 23h=invalid network number SESSION STATUS -------------- ENTRY: command 34h/B4h buffer address of buffer length length of buffer (4 + 36n MAX: 1704) name name whose status required (* = all) post_address network_number EXIT: return_code 00h=success, 06h=message incomplete, 15h=name not found/invalid 22h=too many commands, 23h=invalid network number length BUFFER ------ name number for sessions 0 1 number of sessions for this name 1 1 outstanding datagram receives 2 1 outstanding receive anys 3 1 For each active session (36 bytes) local session number 0 1 session state 1 1 01h=listen pending 02h=call pending 03h=session established 04h=hangup pending 05h=hangup complete 06h=session aborted local name 2 16 remote name 18 16 outstanding receives 34 1 outstanding sends/chain sends 35 1 (c) 1998 Gavin Winston