DIRECTORY CHOpsP2V3 USING [Authenticator], CrRPC USING [BulkDataCheckAbortProc, Handle], IO USING [STREAM], Rope USING [ROPE], XNS USING [Host], XNSCH USING [Conversation, Element] ; XNSCHPrivate: CEDAR DEFINITIONS ~ { OPEN CHOps: CHOpsP2V3; CARD16: TYPE ~ CARDINAL; -- Temporary until Mimosa ???? ROPE: TYPE ~ Rope.ROPE; Element: TYPE ~ XNSCH.Element; Conversation: TYPE ~ XNSCH.Conversation; GetAuthenticator: PROC [c: XNSCH.Conversation, host: XNS.Host] RETURNS [CHOps.Authenticator]; IsGeneric: PROC [c: XNSCH.Conversation] RETURNS [BOOL]; BulkDataValueProc: TYPE ~ PROC [stream: IO.STREAM] RETURNS [abort: BOOL _ FALSE]; ReadBulkDataStream: PROC [h: CrRPC.Handle, stream: IO.STREAM, checkAbort: CrRPC.BulkDataCheckAbortProc, readValue: BulkDataValueProc] RETURNS [abort: BOOL]; WriteSegment: PROC [h: CrRPC.Handle, stream: IO.STREAM, checkAbort: CrRPC.BulkDataCheckAbortProc, writeValue: BulkDataValueProc, n: CARDINAL _ 1] RETURNS [abort: BOOL, heAborted: BOOL]; ReadCard16: PROC [stream: IO.STREAM] RETURNS [CARD16]; ReadRope: PROC [stream: IO.STREAM] RETURNS [rope: ROPE]; ReadElement: PROC [stream: IO.STREAM] RETURNS [element: Element]; ReadOrganization: PROC [stream: IO.STREAM] RETURNS [element: Element]; ReadDomain: PROC [stream: IO.STREAM] RETURNS [element: Element]; WriteCard16: PROC [stream: IO.STREAM, card16: CARD16]; WriteRope: PROC [stream: IO.STREAM, rope: ROPE]; WriteElement: PROC [stream: IO.STREAM, element: Element]; RemoteProc: TYPE ~ PROC[handle: CrRPC.Handle, host: XNS.Host]; CallRemote: PROC [c: Conversation, proc: RemoteProc, domain: ROPE _ NIL, idempotent: BOOL _ TRUE]; }... ΆXNSCHPrivate.mesa Demers, December 11, 1986 8:05:40 pm PST Copied Types Conversations Bulk Data Stream Procs A callback to read/write a data value from/to a bulk data stream. IO.Error[...] and transport-specific ERRORs raised here will be caught by the CrRPC package. ! CrRPC.Error If n > 0 then write the header of a streamOfT element of type nextSegment with count n; then call the BulkDataValueProc n times to fill in the data. If n=0 then write a streamOfT element of type lastSegment and length 0. Utilities for building BulkDataSegmentProcs The object and domain fields of the returned Element are NIL. The object field of the returned Element is NIL. Invoking a remote procedure Κκ˜code™K™(K˜—šΟk ˜ Kšœ œ˜ Kšœœ"˜-Kšœœœ˜Kšœœœ˜Kšœœ˜Kšœœ˜#K˜K˜—šΟn œœ œ˜#Kšœžœ ˜head™ KšœœœΟc˜7K˜Kšœœœ˜Kšœ œœ ˜Kšœœœ˜(—™ Kš žœœœœœ˜]Kš ž œœœœœ˜7—™šœœœ œœœ œœ˜QKšœhœ2™ŸK˜—Kš žœœœœJœ œ˜œK˜šž œœœœNœœ œ œ˜ΉKšœ ™ Kšœ”™”KšœG™GK˜—Kšœ+™+™š ž œœ  œœœ˜6K˜—š žœœ  œœœ˜8K˜—š ž œœ œœœ˜AK˜—š žœœ œœœ˜FK™=K˜—š ž œœ œœœ˜@K™0—K˜šž œœ œœ˜6K˜—š ž œœ œœœ˜0K˜—Kšž œœ œœ˜9——™Kšœ œœœ˜>Kš ž œœ-œœœœ˜bK˜—K˜——…—\ ό