<<>> <> <> <> <<>> DIRECTORY BridgeComm USING [NetworkStreamPair], IO USING [STREAM], Rope USING [ROPE]; BridgeFTPOps: CEDAR DEFINITIONS ~ { ROPE: TYPE ~ Rope.ROPE; STREAM: TYPE ~ IO.STREAM; NetworkStreamPair: TYPE ~ BridgeComm.NetworkStreamPair; ActionProc: TYPE ~ PROC [nsp: NetworkStreamPair, bytesReported: INT, clientData: REF] RETURNS [quit: BOOLEAN ¬ FALSE]; <> <> <<"Feature:" For RetrieveStream the ActionProc is not called if the file being retrieved is empty. BytesReported is the number of bytes given by the data ack ('Dxxx'). -1 is returned if the ack doesn't supply the byte count, or for storing. It is assumed that bytesReported is really only a hint>> RetrieveStream: PROC [nsp: NetworkStreamPair, remoteName: ROPE, action: ActionProc, clientData: REF ¬ NIL, msgStream: STREAM ¬ NIL] RETURNS [excuse: ROPE ¬ NIL]; <> StoreStream: PROC [nsp: NetworkStreamPair, remoteName: ROPE, overwrite: BOOL, action: ActionProc, clientData: REF ¬ NIL, msgStream: STREAM ¬ NIL] RETURNS [excuse: ROPE ¬ NIL]; <> }...