HostNumbers: CEDAR DEFINITIONS = BEGIN HostNumber: TYPE = MACHINE DEPENDENT RECORD [a, b, c, d, e, f: BYTE]; nullHostNumber: HostNumber = [0, 0, 0, 0, 0, 0]; ProcessorID: TYPE = RECORD [HostNumber]; IsProcessorID: PROC [hn: LONG POINTER TO HostNumber] RETURNS [BOOL] = TRUSTED INLINE {RETURN[hn.a MOD 2=0]}; nullProcessorID: ProcessorID = [nullHostNumber]; MulticastID: TYPE = RECORD [HostNumber]; IsMulticastID: PROC [hn: LONG POINTER TO HostNumber] RETURNS[BOOL] = TRUSTED INLINE {RETURN[hn.a MOD 2#0]}; broadcastHostNumber: HostNumber = [255, 255, 255, 255, 255, 255]; END. LOG December 1, 1980 6:18 PM PXM Created file 4-Nov-81 8:33:37 AWL Formatting changes. Time: 26-Sep-84 2:28:39 By: DXG Action: Added copyright notice and rebuild for 11.1 release. ˜ HostNumbers.mesa Copyright Σ 1980, 1981, 1986, 1991 by Xerox Corporation. All rights reserved. (last edited by: DXG on: 26-Sep-84 2:28:43) Bill Jackson (bj) October 14, 1986 6:04:10 pm PDT Doug Wyatt, December 10, 1986 9:31:13 pm PST Host numbers are unique numbers used for several different purposes. One is for Ethernet addresses; these must conform to the size and allocation policy layed down in the Ethernet specification. Another is to construct universal object identifiers within Pilot-based OIS and other compatible systems. While many Ethernet stations will not care to generate Pilot-compatible universal ids and not all Pilot-based systems will be Ethernet stations, it is nevertheless convenient to a single implementation of such a "serial number". The Ethernet specification divides the space of station addresses into two categories: physical addresses, in one-to-one correspondence with actual stations multicast addresses, each corresponding to a logical group of stations. A processor may use its own physical host number concatenated with a sequence number or timestamp to construct a universal object identifier. Programs should not make any assumptions about the structure of host numbers other than the IsProcessorID/IsMulticastID distinction defined below (such as attempting to correlate processor types with groups of host numbers). Host numbers Not assigned as either a physical or multicast address. Processor identifiers (physical addresses) A processor identifier p MUST have p.a even: Multicast identifiers (multicast group addresses) A multicast identifier m must have m.a odd: A special multicast address used for broadcasting messages. Κ –(cedarcode) style•NewlineDelimiter ™šœ™Jšœ ΟeœD™OJšœ,™,Icode™1K™,—K˜KšΟn œΟkœŸ œŸ˜&K˜Jšœ”™”K˜šœV™VJšœE™EJšœG™G—K˜Jšœ™K˜Jšœΰ™ΰK˜K˜Jšœ ™ K˜Kš œ ŸœŸœŸ œŸœŸœ˜Ešœ0˜0Jšœ7™7—K˜K˜Jšœ*™*K˜šœ ŸœŸœ˜(Jšœ,™,J™—šž œŸœŸœŸœŸœ ŸœŸœ˜CKš œŸœŸœŸœŸœ˜(—K˜K˜0K˜K˜Jšœ1™1K˜šœ ŸœŸœ˜(Jšœ+™+J™—šž œŸœŸœŸœŸœ ŸœŸœ˜DKšŸœŸœŸœŸœ˜&—K˜˜AJšœ=™=—K˜KšŸœ˜K˜šŸ˜šœ!˜!K˜ —šœ˜K˜—šœ ˜ Kšœ<˜<———…— Ά