Xref: utzoo comp.sys.amiga:17397 comp.sys.amiga.tech:204 Path: utzoo!mnetor!uunet!nuchat!peter From: peter@nuchat.UUCP (Peter da Silva) Newsgroups: comp.sys.amiga,comp.sys.amiga.tech Subject: Re: IPC for Protocols in Terminal Emulators Message-ID: <907@nuchat.UUCP> Date: 8 Apr 88 13:20:36 GMT References: Organization: Public Access - Houston, Tx Lines: 60 Keywords: IPC remote protocol FTP In article ... mccarrol@topaz.rutgers.edu (Mark C. Carroll ) writes: > struct RFTP_Message > { > struct Message rftp_msg; > long rftp_type,rftp_len; > struct List rftp_data; > }; Why a list? Wouldn't one packet per message be just fine for this sort of application. After all, the time is going to be dominated by the file transfer time. I'm not sure that the RFTP_DATA mode is either necessary nor desirable. You can always open a pipe and write data to it. Once again, the actual file transfer is going to be the limiting factor. In which case, here's my alternative suggestion: The file transfer program is started as a CLI program with Execute(). The command line format is: program SEND file... program RECIEVE file... The terminal program closes the serial port before Execute()ing the RFTP program, and opens it again when it's finished. > Well, there it is. Please distribute it, and send suggestions, comments, > flames, or praise to me at any of the addresses in the header. I think you need to go into a bit more detail as to exactly who sends what messages to whom, and when. Finally, here's the Pete/Peter IPC suggestion: Port name is RFTP., eg: RFTP.KERMIT. Message type RCVF Items are type FILE. At most one item of type PORT may be provided. It points to a message port to recieve error messages. It may be the same as the reply port. Message type SNDF Items are type FILE. Items may be type LOCK, which the RFTP can open by using the hack of CurrentDir(Lock) and Open("", MODE_READONLY); At most one item of type PORT may be provided, as above. Message type EMSG /* Error message as described above */ Item type TEXT. Item FILE format is FILE, 8, (struct { ULONG dirlock; char *filename } *). Item PORT format is PORT, 0, (struct MessagePort *). Item TEXT format is TEXT, *, (char *). item LOCK format is LOCK, 0, (ULONG). -- -- a clone of Peter (have you hugged your wolf today) da Silva `-_-' -- normally ...!hoptoad!academ!uhnix1!sugar!peter U -- Disclaimer: These aren't mere opinions... these are *values*.