-- Copyright (C) 1983 by Xerox Corporation. All rights reserved.
-- BootServerInfo.mesa, HGM, 24-Sep-83 16:24:25
DIRECTORY
Courier USING [Description, VersionRange],
System USING [broadcastHostNumber, GreenwichMeanTime, NetworkAddress, nullHostNumber],
BootServerBasics USING [
BootFileNumber, BootFileType, MachineType];
BootServerInfo: DEFINITIONS =
BEGIN
-- Things visible to client
Error: ERROR [reason: LONG STRING];
BootFileNumber: TYPE = BootServerBasics.BootFileNumber;
startEnumeration: BootFileNumber = LOOPHOLE[System.nullHostNumber];
endEnumeration: BootFileNumber = LOOPHOLE[System.broadcastHostNumber];
BootFileType: TYPE = BootServerBasics.BootFileType;
MachineType: TYPE = BootServerBasics.MachineType;
FindServers: PROCEDURE [
System.NetworkAddress, PROCEDURE [System.NetworkAddress] ];
GetCounters: PROCEDURE [System.NetworkAddress] RETURNS [Counters];
Counters: TYPE = MACHINE DEPENDENT RECORD [
bootFilesRequested(0): LONG CARDINAL,
bootFilesSent(2): LONG CARDINAL,
bootFilesSentSlowly(4): LONG CARDINAL,
microcodeBootFilesRequested(6): LONG CARDINAL,
microcodeBootFilesSent(8): LONG CARDINAL,
newBootFilesRetrieved(10): LONG CARDINAL];
EnumerateBootTable: PROCEDURE [
System.NetworkAddress, PROCEDURE [LONG POINTER TO Info] ];
Info: TYPE = MACHINE DEPENDENT RECORD [
bfn(0): BootFileNumber,
fileName(3): LONG STRING,
fileType(5): BootFileType,
machineType(6): MachineType,
create(7): System.GreenwichMeanTime,
bytes(9): LONG CARDINAL,
count(11): LONG CARDINAL, -- number of times sent ok
ms(13): LONG CARDINAL]; -- time spend booting
-- Things used by both Server and Client
DescribeBootFileNumber: Courier.Description;
DescribeBootServerInfo: Courier.Description;
DescribeCounters: Courier.Description;
DescribeNetworkAddress: Courier.Description;
programNumber: CARDINAL = 37;
currentVersion: CARDINAL = 0;
versionRange: Courier.VersionRange = [low: currentVersion, high: currentVersion];
Procedures: TYPE = MACHINE DEPENDENT {
whoAreYou(0), getCounters(1), enumerateBootTable(2), (LAST[CARDINAL])};
END.