-- $Header: BulkData1.cr,v 2.1 85/11/21 07:32:48 jqj Exp $ -- $Log: BulkData1.cr,v $ -- Revision 2.1 85/11/21 07:32:48 jqj -- fixed comment leaders -- -- Revision 2.0 85/11/21 07:24:29 jqj -- 4.3BSD standard release -- -- Revision 1.2 85/11/20 13:08:46 jqj -- 4.3 beta version BulkData: PROGRAM 0 VERSION 1 = BEGIN -- types -- Identifier: TYPE = RECORD [ host: ARRAY 3 OF UNSPECIFIED, hostRelativeIdentifier: ARRAY 2 OF UNSPECIFIED ]; Descriptor: TYPE = CHOICE OF { null(0), immediate(1) => RECORD [ ], passive(2), active(3) => RECORD [ network: ARRAY 2 OF UNSPECIFIED, host: ARRAY 3 OF UNSPECIFIED, identifier: Identifier ] }; -- sinks (for external use) -- Sink: TYPE = Descriptor; immediateSink: Sink = immediate[]; nullSink: Sink = null[]; -- sources (for external use) -- Source: TYPE = Descriptor; immediateSource: Source = immediate[]; nullSource: Source = null[]; -- errors -- InvalidDescriptor: ERROR = 0; -- source or sink is passive, active, or null NoSuchIdentifier: ERROR = 1; -- identifier is unrecognized IdentifierBusy: ERROR = 2; -- BD object is being sent, received, or cancelled WrongHost: ERROR = 3; -- caller's host is unauthorized to transfer the data WrongDirection: ERROR = 4; -- BDT in the other direction was expected TransferAborted: ERROR = 5; -- BDT was aborted by sender or receiver -- procedures Send: PROCEDURE [identifier: Identifier, sink: Sink, timeout: CARDINAL] REPORTS [ InvalidDescriptor, NoSuchIdentifier, IdentifierBusy, WrongHost, WrongDirection, TransferAborted ] = 0; -- transfers bulk data from callee to caller Receive: PROCEDURE [identifier: Identifier, source: Source, timeout: CARDINAL] REPORTS [ InvalidDescriptor, NoSuchIdentifier, IdentifierBusy, WrongHost, WrongDirection, TransferAborted ] = 1; -- transfers bulk data from caller to callee Cancel: PROCEDURE [ identifier: Identifier, timeout: CARDINAL ] REPORTS [ NoSuchIdentifier, IdentifierBusy, WrongHost ] = 2; -- cancels a bulk data transfer before it begins END.