// Grapevine.decl -- definitions for clients of Grapevine package // Copyright Xerox Corporation 1981 // Last modified October 30, 1981 2:09 PM by Taft //---------------------------------------------------------------------------- structure RName: // Registered Name -- really just a String //---------------------------------------------------------------------------- [ length byte; char↑1,1 byte ] manifest maxRNameLength = 64 //---------------------------------------------------------------------------- structure Password↑0,7: byte // Representation of individual's encryption key //---------------------------------------------------------------------------- manifest lenPassword = size Password/16 //---------------------------------------------------------------------------- structure TimeStamp: // Grapevine time stamp //---------------------------------------------------------------------------- [ net byte host byte time word 2 ] manifest lenTimeStamp = size TimeStamp/16 //---------------------------------------------------------------------------- structure RList: // List of RNames -- header word //---------------------------------------------------------------------------- [ stamp @TimeStamp queue: // queue of RItems [ head word; tail word ] ] manifest lenRList = size RList/16 //---------------------------------------------------------------------------- structure RItem: // RName Item //---------------------------------------------------------------------------- [ next word // -> next RItem, or zero to end list rName @RName // RName ] manifest [ // Result/error codes returned by GrapevineNameInfo procedures. // Not all codes can be returned by all procedures; see individual // descriptions. ecNoChange = 2270 // unchanged from previous lookup (can only arise // when an explicit stamp was passed in) ecGroup = 2271 // RName is a group ecIndividual = 2272 // RName is an individual ecBadRName = 2273 // RName does not exist ecAllDown = 2274 // can't contact any R-Server for registry ecBadPassword = 2275 // bad password ecIsMember = 2276 // individual is a member of group ecIsNotMember = 2277 // individual is not a member of group ]