Network Interface Layer protocol syntax

{
        ChatNet Network Interface Layer
        Version 1.00 - unreleased
        Last modified: 20-01-95
        Written by G. Hiddink



This is an informal description of the layer precisely on top of the
underlying connection oriented network. It deals with chatnet entities
identifying theirselves and exchanging IDs for the Chatnet Multicast
protocol.
Since the underlying network may be any network, no service primitives are
given for the required service.

05-11-94 Added "BYE" when a connection is not allowed.
         moved PING and PONG from the multicast layer to this layer.
11-12-94 "BYE" is sent when a normal connection closes. Added "NAK" and
         "FULL". Added NIL_ConnInd and NIL_ConnReq.
20-01-95 Only corrected a few typo's.
26-06-96 added a dot in front of all messages to make the combination of
	 nil, mcast and the servers LL(1), that is context-free.
26-06-96 added a message "NSUP", which stands for "Not Supported", and it is
         sent when an unsupported entity tries to connect.
22-04-98 updated the IAM message to reflect a few changes
}


<Message>         ::= <IAmServer> | <IAmClient> | <IRCUser> | <IRCNick> |
                      <IRCPass>   | <Error>     | BYE       | QUIT      | NOAUTH 
		      | FULL      | NSUP        | NOMORE    | PING      | PONG 

<IAmServer>       ::= IAM SERV <serverid> <password> <protocolversion> <software>
                      <version>

<IAmClient>       ::= IAM CLNT <userid> <password> <protocolversion> <software>
                      <version> <next-layer info>

<IRCPass>         ::= PASS <password>

<IRCNick>         ::= NICK <nickname>

<IRCUser>         ::= USER <accountname> <hostname> <servername> :<realname>

<Error>           ::= ERROR <Message>

<serverid>        ::= <num>+

<password         ::= <ascii>+

<protocolversion> ::= <num>'.'<num><num><ascii>*

<software>        ::= <ascii>+

<version>         ::= <anychar>+

<next-layer info> ::= <anychar>*

IAM               ::= "IAM"
SERV              ::= "SERV"
CLNT              ::= "CLNT"
PASS              ::= "PASS"
IDIE              ::= "IDIE"
USER              ::= "USER"
NICK              ::= "NICK"
BYE               ::= "BYE"
NOAUTH            ::= "NAK"
FULL              ::= "FULL"
NSUP              ::= "SNPNI"
QUIT              ::= "QUIT"
NOMORE		  ::= "NOMORE"
PING              ::= "PING"
PONG              ::= "PONG"
ERROR             ::= "ERROR"

<ascii>           ::= 'a' .. 'z'| 'A' .. 'Z'| <digit> | <special>
<anychar>         ::= OCTET \ { CHAR(13), CHAR(10), CHAR(0) }
<num>             ::= <digit>+
<digit>           ::= '1' | '2' ... '9' | '0'



Back to Specification of WWCP


(c) 1996 by G. Hiddink

If you have any comments, please mail to grit@cal050031.student.utwente.nl