{ WWCP Channel Directory Service protocol grammar Version 0.01 - unreleased Last modified: 09-09-96 Written by G. Hiddink Between strings (enclosed by " signs) is always whitespace. Between characters, enclosed by ' signs, is no whitespace. 09-09-96 added mode characters to for 11-07-96 added modes and charter to 23-06-96 first workable version 21-06-96 initial version NOTE: a CDS can send an UPDATE if the registration information has changed. } { from client to CDS } ::= | | | | | | | | { from CDS to client } ::= | | | | | | | | | { from CDS to CDS } ::= | | | ::= RETRIEVEDIR ( | TOP ) ::= RETRIEVECHAN ::= LIST * ( | ) * ::= MEMBERS * ::= CHNEW ::= DIRNEW ::= CHDIE ::= MEND ::= JOIN ::= LEAVE ::= SRVREQ ::= MEND ::= SRVREPL * { a client can send several of these if its channels won't fit in one message } ::= IAMAT * ::= 's' * { no whitespace } ::= "cr" ::= CHANNEL { serverID is needed for building routing info? } ::= CHNEW ::= ERROR ::= NOTACHAN ::= NOTADIR ::= UNKNOWN ( | ) { reference is 0 if there was none supplied (JOIN/LEAVE/DIRNEW) } { | is not LL(1); however, they're both strings... } ::= NOTALLOWED ::= * { note that no fields at all is valid! } ::= CREATE-DIR | CREATE-CHAN | K12 ::= CHARTER | CONTACTNAME | CONTACTMAIL | PASSWORD | MODE | ACCESS | URL ::= * ::= { at most 10 characters } ::= { at most 50 characters } ::= { at most 250 characters } ::= { at most 50 characters } ::= { at most 50 characters } ::= { at most 20, crypted } ::= { at most 50 characters } ::= { at most 80 characters } ::= 'a'..'z' | 'A' .. 'Z' | { some more } ::= '"' ( ' ' )* '"' ::= RETRIEVEDIR ::= "RETRD" RETRIEVECHAN ::= "RETRC" TOP ::= "TOP" LIST ::= "LIST" JOIN ::= "JOIN" CHANNEL ::= "CHAN" SRVIND ::= "SRVIND" NOTACHAN ::= "NOTC" NOTADIR ::= "NOTD" ERROR ::= "ERROR" UNKNOWN ::= "WENI" { unknown channel } CHARTER ::= "CHRT" CONTACTNAME ::= "CNAME" CONTACTMAIL ::= "CMAIL" PASSWORD ::= "PASSW" MODE ::= "MODE" ACCESS ::= "ACCS" URL ::= "URL" CREATE-DIR ::= 'd' CREATE-CHAN ::= 'c' K12 ::= 'k' ::= "." ::= "\n"