[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Confused about ADT protocol



On Sunday, November 18, 2012 8:29:20 PM UTC-6, schmidtd wrote:
> On 11/18/2012 4:34 PM, Kevin wrote:
> 
> > put states
> 
> >
> 
> > Apple sends:
> 
> >    One byte: "Z" ($DA)
> 
> >    Byte stream: file name (null terminated)
> 
> >
> 
> > Host sends:
> 
> >    Two bytes: file size in blocks (LSB, MSB)
> 
> >    One byte: return code:
> 
> >      $00 = File exists (and file size is valid)
> 
> >      $02 = File does not exist
> 
> >      $04 = File exists, not recognized as a valid disk image
> 
> >
> 
> > if the disk is coming from the apple how is the host going to find a file, measure its size and check for being valid?
> 
> 
> 
> Some history for you: in the beginning there was ADT, and there was only 
> 
> the "S" flow to send a disk.  It unconditionally sent the file, with no 
> 
> concern as to whether or not the file existed on the host.  It would 
> 
> fail with unable to write, or overwrite without confirmation; I don't 
> 
> remember which, but both situations were bad.
> 
> 
> 
> ADTPro came along, and "P" was introduced.  That essentially implemented 
> 
> the same (broken) semantics, though the flow has different contents.  It 
> 
> positively overwrote whatever happened to be there with the same file name.
> 
> 
> 
> So an extension was born: the "Z" flow.  This is all transparent to the 
> 
> user; the Z and P are combined into one logical flow.  You'll see both 
> 
> mushed together on the protocol section just below what you cited.  What 
> 
> happens with "Z" is that the proposed filename is sent to the host, and 
> 
> the host replies back with a file size (which is really ignored - it 
> 
> would be zero if no file existed) and a return code that indicates if 
> 
> the file already exists or not.  That gives us the chance to ask the 
> 
> user if they want to overwrite or not, if necessary.  If the user wants 
> 
> to overwrite, or if there is no file to overwrite, then the put proceeds 
> 
> apace.
> 
> 
> 
> > SO I am wondering if that could be backwards, what else might be?
> 
> 
> 
> No one ever promised it was right... ;-)

OK I see now thanks a bunch