Oct 1980 - 1 - _ ____________ 1 Introduction A task has been implemented on the EMAS FEP system to facilitate access to the ring name server. This task handles the red tape of the ring message formats, the allocation of reply ports and retrying the transmissions up to three times if a reply is not received within 1 or 2 seconds. The name server task has name NAME and links in as task 15. The name server task assumes that the FEP buffer manager task is handling the allocation and deallocation of buffers. Messages to NAME should include a buffer which in the most common case of a name lookup request will contain the name whose address is required. The reply from NAME may or may not include a buffer reference depending on whether a reply was received or not from the name server on the ring. _ ______ _______ 2 Buffer formats This section describes buffer formats in terms of IMP record formats. The name server task does byte swapping within PDP11 words so that user programs may use the natural PDP11 byte ordering. The buffer format for LOOKUP and REMOVENAME is ____________ LOOKF( ______ (LOOKF) ____ LINK, recordformat record name ___________ LEN, TYPE, byteinteger _______ A, P, C, R, F, integer ______ (61) NAME ) string NAME is the only field that requires setting. The buffer format for ADDNAME is ____________ ADDF( ______ (ADDF) ____ LINK, recordformat record name ___________ LEN, TYPE, byteinteger _______ A, P, C, R, F, integer ___________ FLAGS, DUMMY, byteinteger _______ PORT, FUNCTION CODE, integer ______ (55) NAME ) string Oct 1980 - 2 - For the meaning of FLAGS see the current name server documentation. PORT is the basic block port on which an OPEN for this name should be sent and FUNCTION CODE is the code to be quoted on the open. The function REMOVEALL needs to give a buffer for NAME to send the transmission, however the buffer need not contain any information. The reply from the name server task will include a buffer pointer if a reply has been received from the name server on the ring. The format of this buffer is as below. ____________ REPLYF( ______ (REPLYF) ____ LINK, recordformat record name ___________ LEN, TYPE, byteinteger _______ A, P, C, Z, integer _______ RETURN CODE, integer ___________ FLAGS, ADDRESS, byteinteger _______ PORT, FUNCTION CODE, integer ______ (55) RESTOFNAME ) string Replies to all but look-up requests just contain RETURN CODE, this is zero if the operation was performed successfully, otherwise see the name server documentation. The other fields are set for a look-up request see the name server documentation for details. LEN is set to the length of REST OF NAME returned by the name server, if LEN is zero the whole of the string is undefined. _ ________ __ ___ ____ ____ 3 Messages to and from NAME The PON message to NAME requesting a transfer to the name server should contain a function code in byte 2 and a buffer pointer in bytes 4 and 5. The function code values are :- 0 LOOKUP 1 ADDNAME 2 REMOVENAME 3 REMOVEALL The reply from NAME will have a zero function code in byte 2 of the PON message if a reply has been received. Bytes 4 and 5 will contain the buffer pointer. This buffer needs to be returned to the buffer manager. A non-zero function code indicates that the name server did not respond after three retries. A suitable format for the PON record is:- Oct 1980 - 3 - ____________ PF( ___________ SERVICE, REPLY, FUNCTION, DUMMY, recordformat byteinteger ______ (LOOKF) ____ BUFFER, record name _______ DUMMY2 ) integer University of Kent Computing Laboratory at Canterbury EMAS FEP name server task Date Oct 1980 ________ ____ Contents Page 1 Introduction 1 2 Buffer formats 1 3 Messages to and from NAME 2 Copyright University of Kent at Canterbury 1980